MATLAB:指定坐标轴范围、轴向、位置

1 更改坐标轴范围

xlim:x轴范围,xlim([a b])
ylim:y轴范围,ylim([a b])
zlim:z轴范围,zlim([a b])

以二维为例

示例: 未指定坐标轴范围,默认显示

代码:

clc;
clear;

% 绘制
x = linspace(-10,12,200); 
y = sin(4*x)./exp(x);
plot(x,y)
title('未指定坐标范围')
xlabel('X/(m)')
ylabel('Y/(m)')

结果展示:

在这里插入图片描述

示例2: 指定坐标轴范围

代码:

clc;
clear;

% 绘制
x = linspace(-10,12,200); 
y = sin(4*x)./exp(x);

plot(x,y)
xlim([0 10])
ylim([-0.4 0.8])
title('指定坐标范围')
xlabel('X/(m)')
ylabel('Y/(m)')

结果展示:

在这里插入图片描述
若是三维图形,则以相同的方式指定 Z Z Z 轴的范围即可,比如

zlim([0 10])		% 将Z轴坐标范围设置为[0,10]

2 使用半自动坐标轴范围

示例: 将 x 轴范围最大值设为 0,y 轴范围最小值设为 -1,其他范围则由 MATLAB 选择。对于自动计算的最小值或最大值,分别使用 -infinf 来表示。

指定坐标范围前

代码:

clc;
clear;

[X,Y,Z] = peaks;
surf(X,Y,Z)
title('未指定坐标范围')
xlabel('X/(m)')
ylabel('Y/(m)')
zlabel('Z/(m)')

结果展示:

在这里插入图片描述

指定坐标范围后

代码:

clc;
clear;

[X,Y,Z] = peaks;
surf(X,Y,Z)
xlim([-inf 1]) 
ylim([-2 inf])

title('半自动指定坐标范围')
xlabel('X/(m)')
ylabel('Y/(m)')
zlabel('Z/(m)')

结果展示:

在这里插入图片描述

3 还原默认坐标范围

auto 关键字

xlim auto
ylim auto
zlim auto

示例: 先更改坐标范围,再还原坐标范围

代码:

clc;
clear;

[X,Y,Z] = peaks;
surf(X,Y,Z)
xlim([-inf 1]) 
ylim([-2 inf])

title('还原默认坐标范围')
xlabel('X/(m)')
ylabel('Y/(m)')
zlabel('Z/(m)')

% 还原坐标轴默认范围
xlim auto
ylim auto
zlim auto

结果展示:

在这里插入图片描述

4 反转坐标轴方向

XDirYDir 属性

ax.XDir = 'reverse';
ax.YDir = 'reverse';

示例: 通过设置 Axes 对象的 XDirYDir 属性,可控制 x 轴和 y 轴值递增的方向。这些属性可以设置为 'reverse''normal'(默认值)。使用 gca 命令可访问 Axes 对象。

代码:

clc;
clear;

x = linspace(-10,12,200); 
y = sin(4*x)./exp(x);

figure
plot(x,y)
xlim([0 10])
ylim([-0.4 0.8])
title('未反转轴向')
xlabel('X/(m)')
ylabel('Y/(m)')

figure
plot(x,y)
xlim([0 10])
ylim([-0.4 0.8])
title('反转 X 轴')
xlabel('X/(m)')
ylabel('Y/(m)')
ax1 = gca;
ax1.XDir = 'reverse';

figure
plot(x,y)
xlim([0 10])
ylim([-0.4 0.8])
title('反转 Y 轴')
xlabel('X/(m)')
ylabel('Y/(m)')
ax2 = gca;
ax2.YDir = 'reverse';

figure
plot(x,y)
xlim([0 10])
ylim([-0.4 0.8])
title('反转 X 轴和 Y 轴')
xlabel('X/(m)')
ylabel('Y/(m)')
ax3 = gca;
ax3.XDir = 'reverse';
ax.YDir = 'reverse';

结果展示:

在这里插入图片描述

5 改变坐标轴线位置

XAxisLocationYAxisLocation 属性,以下为默认属性,X轴在底部,Y轴在左侧

ax = gca;
ax.XAxisLocation = 'bottom';
ax.YAxisLocation = 'left';

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

代码:

clc;
clear;

x = linspace(-5,5);
y = sin(x);
figure
plot(x,y)
title('默认轴线位置')
xlabel('X/(m)')
ylabel('Y/(m)')
% ax0 = gca;
% ax0.XAxisLocation = 'bottom';
% ax0.YAxisLocation = 'left';

figure
plot(x,y)
title('轴线在原点交叉')
xlabel('X/(m)')
ylabel('Y/(m)')
ax1 = gca;
ax1.XAxisLocation = 'origin';
ax1.YAxisLocation = 'origin';

figure
plot(x,y)
title('X轴在顶部,Y轴在中间')
xlabel('X/(m)')
ylabel('Y/(m)')
ax2 = gca;
ax2.XAxisLocation = 'top';
ax2.YAxisLocation = 'origin';
box off         % 删除坐标区框轮廓

figure
plot(x,y)
title('X轴在中间,Y轴在右侧')
xlabel('X/(m)')
ylabel('Y/(m)')
ax3 = gca;
ax3.XAxisLocation = 'origin';
ax3.YAxisLocation = 'right';
box off         % 删除坐标区框轮廓

结果展示:

在这里插入图片描述


相关链接:

https://ww2.mathworks.cn/help/matlab/creating_plots/change-axis-limits-of-graph.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

孙 悟 空

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

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

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

打赏作者

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

抵扣说明:

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

余额充值