MATLAB:指定坐标轴范围轴向位置
Posted 没事就要敲代码
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 选择。对于自动计算的最小值或最大值,分别使用 -inf
或 inf
来表示。
指定坐标范围前
代码:
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 反转坐标轴方向
XDir
、YDir
属性
ax.XDir = 'reverse';
ax.YDir = 'reverse';
示例: 通过设置 Axes
对象的 XDir
和 YDir
属性,可控制 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 改变坐标轴线位置
XAxisLocation
、YAxisLocation
属性,以下为默认属性,X轴在底部,Y轴在左侧
ax = gca;
ax.XAxisLocation = 'bottom';
ax.YAxisLocation = 'left';
示例: 默认情况下,x 轴和 y 轴沿坐标区的外边界显示。通过设置 Axes
对象的 XAxisLocation
和 YAxisLocation
属性来更改轴线位置,以使轴线在原点 (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
以上是关于MATLAB:指定坐标轴范围轴向位置的主要内容,如果未能解决你的问题,请参考以下文章