Main Content

Specify Axis Tick Values and Labels

Customizing the tick values and labels along an axis can help highlight particular aspects of your data. These examples show some common customizations, such as modifying the tick value placement, changing the tick label text and formatting, and rotating the tick labels.

Change Tick Value Locations and Labels

Create x as 200 linearly spaced values between -10 and 10. Create y as the cosine of x. Plot the data.

x = linspace(-10,10,200);
y = cos(x);
plot(x,y)

Figure contains an axes object. The axes object contains an object of type line.

Change the tick value locations along the x-axis and y-axis. Specify the locations as a vector of increasing values. The values do not need to be evenly spaced.

Also, change the labels associated with each tick value along the x-axis. Specify the labels using a cell array of character vectors. To include special characters or Greek letters in the labels, use TeX markup, such as \pi for the π symbol.

xticks([-3*pi -2*pi -pi 0 pi 2*pi 3*pi])
xticklabels({'-3\pi','-2\pi','-\pi','0','\pi','2\pi','3\pi'})
yticks([-1 -0.8 -0.2 0 0.2 0.8 1])

Figure contains an axes object. The axes object contains an object of type line.

For releases prior to R2016b, instead set the tick values and labels using the XTick, XTickLabel, YTick, and YTickLabel properties of the Axes object. For example, assign the Axes object to a variable, such as ax = gca. Then set the XTick property using dot notation, such as ax.XTick = [-3*pi -2*pi -pi 0 pi 2*pi 3*pi]. For releases prior to R2014b, use the set function to set the property instead.

Rotate Tick Labels

Create a scatter plot and rotate the tick labels along each axis. Specify the rotation as a scalar value. Positive values indicate counterclockwise rotation. Negative values indicate clockwise rotation.

x = 1000*rand(40,1);
y = rand(40,1);
scatter(x,y)
xtickangle(45)
ytickangle(90)

Figure contains an axes object. The axes object contains an object of type scatter.

For releases prior to R2016b, specify the rotation using the XTickLabelRotation and YTickLabelRotation properties of the Axes object. For example, assign the Axes object to a variable, such as ax = gca. Then set the XTickLabelRotation property using dot notation, such as ax.XTickLabelRotation = 45.

Change Tick Label Formatting

Create a stem chart and display the tick label values along the y-axis as US dollar values.

profit = [20 40 50 40 50 60 70 60 70 60 60 70 80 90];
stem(profit)
xlim([0 15])
ytickformat('usd')

Figure contains an axes object. The axes object contains an object of type stem.

For more control over the formatting, specify a custom format. For example, show one decimal value in the x-axis tick labels using '%.1f'. Display the y-axis tick labels as British Pounds using '\xA3%.2f'. The option \xA3 indicates the Unicode character for the Pound symbol. For more information on specifying a custom format, see the xtickformat function.

xtickformat('%.1f')
ytickformat('\xA3%.2f')

Figure contains an axes object. The axes object contains an object of type stem.

Ruler Objects for Individual Axis Control

MATLAB creates a ruler object for each axis. Like all graphics objects, ruler objects have properties that you can view and modify. Ruler objects allow for more individual control over the formatting of the x-axis, y-axis, or z-axis. Access the ruler object associated with a particular axis through the XAxis, YAxis, or ZAxis property of the Axes object. The type of ruler depends on the type of data along the axis. For numeric data, MATLAB creates a NumericRuler object.

ax = gca;
ax.XAxis 
ans = 
  NumericRuler with properties:

             Limits: [0 15]
              Scale: 'linear'
           Exponent: 0
         TickValues: [0 5 10 15]
    TickLabelFormat: '%.1f'

  Use GET to show all properties

Control Value of Exponent in Secondary Label Using Ruler Objects

Plot data with y values that range between -15,000 and 15,000. By default, the y-axis tick labels use exponential notation with an exponent value of 4 and a base of 10. Change the exponent value to 2. Set the Exponent property of the ruler object associated with the y-axis. Access the ruler object through the YAxis property of the Axes object. The secondary label and the tick labels change accordingly.

x = linspace(0,5,1000);
y = 100*exp(x).*sin(20*x);
plot(x,y)

ax = gca;
ax.YAxis.Exponent = 2;

Figure contains an axes object. The axes object contains an object of type line.

Change the exponent value to 0 so that the tick labels do not use exponential notation.

ax.YAxis.Exponent = 0;

Figure contains an axes object. The axes object contains an object of type line.

See Also

Functions

Properties

Related Topics