matlab使用教程(63)—修改坐标轴范围、刻度和标签

1.指定坐标轴范围

        您可以设置 x 轴、y 轴和 z 坐标轴范围,以控制数据在坐标区上的显示位置。您也可以更改 x 轴线和 y 轴线的显示位置(仅适用于二维绘图),或反转值沿每条轴递增的方向。

1.1 更改坐标轴范围

        创建一个线图。使用 xlim ylim 函数指定坐标轴范围。对于三维绘图,请使用 zlim 函数。将 [min, max] 形式的二元素向量传递给函数。
x = linspace(-10,10,200);
y = sin(4*x)./exp(x);
plot(x,y)
xlim([0 10])
ylim([-0.4 0.8])

1.2使用半自动坐标轴范围

        将 x 轴范围最大值设为 0,y 轴范围最小值设为 -1。其他范围则由 MATLAB 选择。对于自动计算的最小值或最小值范围,分别使用 -inf inf 来表示。
[X,Y,Z] = peaks;
surf(X,Y,Z)
xlabel('x-axis')
ylabel('y-axis')
xlim([-inf 0]) 
ylim([-1 inf])

1.3 还原为默认范围

        创建一个网格图并更改坐标轴范围,然后还原为默认范围。
[X,Y,Z] = peaks;
mesh(X,Y,Z)
xlim([-2 2])
ylim([-2 2])
zlim([-5 5])

xlim auto
ylim auto
zlim auto

1.4 反转坐标轴方向

        通过设置 Axes 对象的 XDir YDir 属性,可控制 x 轴和 y 轴值递增的方向。这些属性可以设置为'reverse' 'normal' (默认值)。使用 gca 命令可访问 Axes 对象。
stem(1:10)
ax = gca;
ax.XDir = 'reverse';
ax.YDir = 'reverse';

1.5 显示通过原点的轴线

        默认情况下,x 轴和 y 轴沿坐标区的外边界显示。通过设置 Axes 对象的 XAxisLocation
YAxisLocation 属性来更改轴线位置,以使轴线在原点 (0,0) 处交叉。将 XAxisLocation 设置为
'top' 'bottom' 'origin' 。将 YAxisLocation 设置为 'left' 'right' 'origin'。这些属性仅适用于二维视图中的坐标区。
x = linspace(-5,5);
y = sin(x);
plot(x,y)
ax = gca;
ax.XAxisLocation = 'origin';
ax.YAxisLocation = 'origin';

% 删除坐标区框轮廓。
box off

2.指定坐标轴刻度值和标签

        自定义沿坐标轴的刻度值和标签有助于突出显示数据的特定方面。以下示例说明一些常见的自定义,例如修改刻度值的放置位置、更改刻度标签的文本和格式,以及旋转刻度标签。

2.1 更改刻度值位置和标签

        创建 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 函数设置此属性。

2.2 旋转刻度标签

        创建散点图并沿每条轴旋转刻度标签。将此旋转指定为一个标量值。正值表示逆时针旋转。负值表示顺时 针旋转。
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

2.3 更改刻度标签格式

        创建针状图并将沿 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')

2.4用于分别控制各个坐标轴的标尺对象

        MATLAB 为每个坐标轴创建一个标尺对象。与所有图形对象一样,标尺对象也具有您可以查看和修改的属性。标尺对象允许您进一步分别控制 x 轴、y 轴或 z 轴的格式设置。可以通过 Axes 对象的 XAxisYAxis 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;

  • 19
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Matlab中,可以使用`xlim`和`ylim`函数来修改坐标轴范围,同时可以使用`xticks`和`yticks`函数来修改坐标轴刻度。例如,如果要将x轴的范围设置为0到10,y轴的范围设置为-5到5,并将x轴的刻度设置为0到2之间的整数,y轴的刻度设置为-5到5之间的整数,可以使用以下代码: ```matlab xlim([0, 10]); ylim([-5, 5]); xticks(0:2:10); yticks(-5:5); ``` 其中,`xticks`和`yticks`函数的参数是一个向量,表示要在坐标轴上显示的刻度值。在上面的例子中,`xticks(0:2:10)`表示将x轴上的刻度设置为0、2、4、6、8和10。`yticks(-5:5)`表示将y轴上的刻度设置为-5、-4、-3、-2、-1、0、1、2、3、4和5。这些函数也可以在绘制图形之前或之后调用。 如果要修改坐标轴范围刻度,并同时设置刻度标签的格式,可以使用`xtickformat`和`ytickformat`函数。例如,如果要将x轴的范围设置为0到10,y轴的范围设置为-5到5,并将x轴的刻度设置为0到2之间的整数,y轴的刻度设置为-5到5之间的整数,并将刻度标签设置为两位小数,可以使用以下代码: ```matlab xlim([0, 10]); ylim([-5, 5]); xticks(0:2:10); yticks(-5:5); xtickformat('%.2f'); ytickformat('%.2f'); ``` 其中,`xtickformat`和`ytickformat`函数的参数是一个格式化字符串,表示要在刻度标签中显示的格式。在上面的例子中,`'%.2f'`表示使用两位小数来显示刻度标签
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

配电网和matlab

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值