在 MATLAB 中,axis
函数是一个用于控制坐标轴范围、比例、方向与可视性的常用图形函数。它常与 plot
、surf
、imshow
、imagesc
等绘图函数联合使用,能大幅提升图像展示的清晰度与控制力。
📚 一、基本语法
axis([xmin xmax ymin ymax]) % 2D 图设置 x 和 y 范围
axis([xmin xmax ymin ymax zmin zmax]) % 3D 图设置 x、y、z 范围
axis auto % 自动适应坐标轴范围
axis manual % 手动锁定当前坐标轴范围
axis tight % 坐标轴紧贴数据边界
axis equal % 设置坐标轴单位长度相等
axis square % 坐标区域为正方形
axis off % 关闭坐标轴显示
axis on % 打开坐标轴显示
🧪 二、常见用法示例
1️⃣ 设置固定坐标轴范围
plot(x, y);
axis([0 10 -1 1]); % x从0到10,y从-1到1
2️⃣ 自动范围(默认)
plot(x, y);
axis auto; % MATLAB 自动选择合适范围
3️⃣ 锁定当前范围
plot(x, y);
axis manual; % 即使图形更新,也不改变坐标轴范围
4️⃣ 坐标轴单位长度相等(常用于几何图)
plot(x, y);
axis equal; % 每单位长度 x == y,真实反映比例
5️⃣ 坐标区域为正方形
plot(x, y);
axis square; % 坐标区域为正方形,但不保证单位长度相等
6️⃣ 紧贴数据边缘(比 auto 更贴合)
plot(x, y);
axis tight;
7️⃣ 关闭/打开坐标轴显示(例如用于图像)
imshow(image);
axis off; % 隐藏坐标轴刻度、边框
axis on; % 恢复坐标轴显示
🎨 三、应用场景分类总结
应用场景 | 推荐命令 | 说明 |
---|---|---|
精确控制坐标范围 | axis([xmin xmax ymin ymax]) | 用于固定观察区域 |
保持绘图比例一致 | axis equal | 适合绘制圆、几何体、地图 |
图像显示去除坐标轴 | axis off | 适合图像处理与结果展示 |
自动缩放范围 | axis auto | 默认行为,适合快速绘图 |
贴合边界显示数据 | axis tight | 坐标轴紧贴数据边界,节省空间 |
手动锁定坐标轴 | axis manual | 保持当前坐标范围不被自动修改 |
🧠 四、常见注意事项
axis
只影响当前坐标轴(gca
)。- 若存在多个子图(subplot),需使用
axes
或subplot
切换焦点。 - 在绘制
surf
或mesh
等 3D 图形时,可加入z
范围[xmin xmax ymin ymax zmin zmax]
。
✅ 示例:结合 axis
的完整绘图代码
x = linspace(0, 2*pi, 100);
y = sin(x);
plot(x, y, 'r');
title('正弦波');
xlabel('x'); ylabel('sin(x)');
axis([0 2*pi -1.5 1.5]);
axis equal;
发表回复