指定坐标轴刻度值和标签
自定义沿坐标轴的刻度值和标签有助于突出显示数据的特定方面。以下示例说明一些常见的自定义,例如修改刻度值的放置位置、更改刻度标签的文本和格式,以及旋转刻度标签。
更改刻度值位置和标签
创建 x,将其指定为 200 个介于 -10 和 10 之间的线性间隔值。创建 x 的余弦函数 y。绘制数据图。
x = linspace(-10,10,200); y = cos(x); plot(x,y)
更改沿 x 轴和 y 轴的刻度值位置。将这些位置指定为一个由递增值组成的向量。这些值无需等距。
此外,还要更改沿 x 轴的每个刻度值关联的标签。并用一个字符向量元胞数组来指定刻度标签。要在标签中包含特殊字符或希腊字母,可使用 TeX 标记,例如用 \pi
表示 符号。
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])
对于 R2016b 之前的版本,应使用 Axes
对象的 XTick
、XTickLabel
、YTick
和 YTickLabel
属性设置刻度值和标签。例如,将 Axes
对象赋予一个变量(如 ax = gca
)。然后使用圆点表示法设置 XTick
属性,例如 ax.XTick = [-3*pi -2*pi -pi 0 pi 2*pi 3*pi]
。对于 R2014b 之前的版本,应使用 set
函数设置此属性。
旋转刻度标签
创建散点图并沿每条轴旋转刻度标签。将此旋转指定为一个标量值。正值表示逆时针旋转。负值表示顺时针旋转。
x = 1000*rand(40,1); y = rand(40,1); scatter(x,y) xtickangle(45) ytickangle(90)
对于 R2016b 之前的版本,使用 Axes
对象的 XTickLabelRotation
和 YTickLabelRotation
属性指定旋转。例如,将 Axes
对象赋予一个变量(如 ax = gca
)。然后使用圆点表示法设置 XTickLabelRotation
属性,例如 ax.XTickLabelRotation = 45
。
更改刻度标签格式
创建针状图并将沿 y 轴的刻度标签值显示为美元值。
profit = [20 40 50 40 50 60 70 60 70 60 60 70 80 90];
stem(profit)
xlim([0 15])
ytickformat('usd')
若要进一步控制格式,请指定一种自定义格式。例如,使用 '%.1f'
在 x 轴刻度标签中显示一个十进制值。使用 '\xA3%.2f'
将 y 轴刻度标签显示为英镑。选项 \xA3
表示英镑符号的 Unicode 字符。有关指定自定义格式的详细信息,请参阅 xtickformat
函数。
xtickformat('%.1f') ytickformat('\xA3%.2f')
用于分别控制各个坐标轴的标尺对象
MATLAB 为每个坐标轴创建一个标尺对象。与所有图形对象一样,标尺对象也具有您可以查看和修改的属性。标尺对象允许您进一步分别控制 x 轴、y 轴或 z 轴的格式设置。可以通过 Axes
对象的 XAxis
、YAxis
或 ZAxis
属性访问与特定坐标轴关联的标尺对象。标尺的类型取决于坐标轴上的数据类型。对于数值数据,MATLAB 创建 NumericRuler
对象。
ax = gca; ax.XAxis
ans = NumericRuler with properties: Limits: [0 15] Scale: 'linear' Exponent: 0 TickValues: [0 5 10 15] TickLabelFormat: '%.1f' Show all properties
使用标尺对象控制指数标签中的值
使用介于 -15,000 和 15,000 之间的 y 值绘制数据图。默认情况下,y 轴刻度标签使用指数记数法(指数值为 4,底数为 10)。将指数值更改为 2。设置与 y 轴关联的标尺对象的 Exponent
属性。通过 Axes
对象的 YAxis
属性访问标尺对象。指数标签和刻度标签会相应地进行更改。
x = linspace(0,5,1000); y = 100*exp(x).*sin(20*x); plot(x,y) ax = gca; ax.YAxis.Exponent = 2;
将指数值更改为 0,使刻度标签不使用指数记数法。
ax.YAxis.Exponent = 0;
另请参阅
函数
xlim
|xticks
|yticks
|zticks
|xtickformat
|xtickangle