目录
语法
说明
示例
设置坐标轴范围
使用半自动坐标轴范围
设置多个坐标轴的坐标轴范围
显示绘图而不显示坐标区背景
使用紧凑的坐标轴范围并返回值
更改坐标系的方向
添加新绘图时保留当前的坐标轴范围
axis函数的功能是设置坐标轴范围和纵横比。
语法
axis(limits) axis style axis mode axis ydirection axis visibility lim = axis [m,v,d] = axis('state') ___ = axis(ax,___)
讯享网
limits- 坐标轴范围
坐标轴范围,指定为包含 4 个、6 个或 8 个元素的向量。
对于笛卡尔坐标区,以下列形式之一指定范围:
- [xmin xmax ymin ymax] - 将 x 坐标轴范围设置为从 xmin 到 xmax。将 y 坐标轴范围设置为从 ymin 到 ymax。
- [xmin xmax ymin ymax zmin zmax] - 还将 z 坐标轴范围设置为从 zmin 到 zmax。
- [xmin xmax ymin ymax zmin zmax cmin cmax] - 还设置颜色范围。 cmin 是对应于颜色图中的第一种颜色的数据值。cmax 是对应于颜色图中的最后一种颜色的数据值。
Axes对象的XLim 、YLim、ZLim和CLim属性存储范围值。
对于极坐标区,以下列形式指定范围:
- [thetamin thetamax rmin rmax] - 将 theta坐标轴范围设置为从thetamin到thetamax。将r坐标轴范围设置为从rmin到rmax。
PolarAxes对象的ThetaLim 和RLim属性存储范围值。
如果只想自动确定部分坐标区范围,希望坐标区自动选择的范围使用 inf 或 -inf。例如,axis([-inf 10 0 inf]) 将由坐标区选择合适的最小 x 轴范围和最大 y 轴范围。它对最大 x 轴范围和最小 y 轴范围使用指定值。
注意:如果 x 轴、y 轴或 z 轴显示分类、日期时间或持续时间值,则改用XLim 、YLim、ZLim函数来设置范围。
例如:
讯享网axis([0 1 0 1]) axis([0 1 0 1 0 1]) axis([0 inf 0 inf])
mode- 用来确定坐标轴范围的手动、自动或半自动选择
用来确定坐标轴范围的手动、自动或半自动选择,指定为该表中的以下值之一。
| 值 | 说明 | 更改的坐标区属性 |
|---|---|---|
| manual | 将所有坐标轴范围冻结在它们的当前值。 | 将 XLimMode、YLimMode 和 ZLimMode 设置为 'manual'。如果使用的是极坐标区,则此选项会将 ThetaLimMode 和 RLimMode 设置为 'manual'。 |
| auto | 自动选择所有坐标轴范围。 | 将 XLimMode、YLimMode 和 ZLimMode 设置为 'auto'。如果使用的是极坐标区,则此选项会将 ThetaLimMode 和 RLimMode 设置为 'auto'。 |
| 'auto x' | 自动选择 x 坐标轴范围。 | 将 XLimMode 设置为 'auto'。 |
| 'auto y' | 自动选择 y 坐标轴范围。 | 将 YLimMode 设置为 'auto'。 |
| 'auto z' | 自动选择 z 坐标轴范围。 | 将 ZLimMode 设置为 'auto'。 |
| 'auto xy' | 自动选择 x 轴和 y 坐标轴范围。 | 将 XLimMode 和 YLimMode 设置为 'auto'。 |
| 'auto xz' | 自动选择 x 轴和 z 坐标轴范围。 | 将 XLimMode 和 ZLimMode 设置为 'auto'。 |
| 'auto yz' | 自动选择 y 轴和 z 坐标轴范围。 | 将 YLimMode 和 ZLimMode 设置为 'auto'。 |
注意:这些选项不能用于极坐标区。
style- 坐标轴范围和尺度
坐标轴范围和尺度,指定为以下值之一。
| 值 | 说明 | 更改的坐标区属性 |
|---|---|---|
| tight | 将坐标轴范围设置为等同于数据范围,使轴框紧密围绕数据。 | XLimMode、YLimMode 和 ZLimMode 更改为 'auto'。如果使用的是极坐标区,则 ThetaLimMode 和 RLimMode 将改变。坐标区范围自动更新,以便包含添加到坐标区中的新数据。为了避免在使用 hold on 时范围发生更改,请使用 axis tight manual。 |
| equal | 沿每个坐标轴使用相同的数据单位长度。 | 将 DataAspectRatio 设置为 [1 1 1],并将相关的模式属性设置为手动。禁用“伸展填充”行为。 |
| image | 沿每个坐标区使用相同的数据单位长度,并使坐标区框紧密围绕数据。 | 将 DataAspectRatio 设置为 [1 1 1],并将相关的模式属性设置为手动。禁用“伸展填充”行为。 |
| square | 使用相同长度的坐标轴线。相应调整数据单位之间的增量。 | 将 PlotBoxAspectRatio 设置为 [1 1 1],并将相关的模式属性设置为手动。禁用“伸展填充”行为。 |
| fill | 启用“伸展填充”行为(默认值)。每个轴线的长度恰好围成由坐标区的Position属性所定义的位置矩形。 | 将图框纵横比模式和数据纵横比模式的属性设置为自动。 |
| vis3d | 冻结纵横比属性。 | 将图框纵横比模式和数据纵横比模式的属性设置为手动。 |
| normal | 还原默认行为。 | 将图框纵横比模式和数据纵横比模式的属性设置为自动。 |
注意:这些选项不能用于极坐标区,除非使用 axis tight 和 axis normal命令。
ydirection- y 轴方向
y 轴方向,指定为下列值之一:
- xy - 默认方向。对于二维视图中的坐标区,y 轴是垂直的,值从下到上逐渐增加。
- ij - 反转方向。对于二维视图中的坐标区,y 轴是垂直的,值从上到下逐渐增加。
注意:这些选项不能用于极坐标区。
visibility- 坐标区线条和背景的可见性
坐标区线条和背景的可见性,指定为on或off。指定可见性可将Axes对象或PolarAxes对象Visible的属性设置为指定的值。
ax- 目标坐标区
目标坐标区,指定为一个或多个坐标区。可以指定Axes对象或PolarAxes对象。如果不指定坐标区,则由axis为当前坐标区 (gca) 设置范围。
指定坐标区时,需要将字符向量类型的其他输入参数用单引号引起来。
示例:
axis(ax,'tight') axis(ax,limits) axis(ax,'manual')
lim- 当前范围值
当前范围值,以四元素或六元素向量形式返回。
- 对于二维视图中的笛卡尔坐标区,lim 的格式为 [xmin xmax ymin ymax]。对于三维视图中的坐标区,lim 的格式为 [xmin xmax ymin ymax zmin zmax]。Axes 对象的XLim、YLim 和 ZLim 属性存储范围值。
- 对于极坐标区,lim 的格式为 [thetamin thetamax rmin rmax]。PolarAxes 对象的ThetaLim 和 RLim属性存储范围值。
提示
- 可以将多个输入参数结合使用,例如 axis image ij。选项从左到右进行计算。后面的选项会覆盖前面的选项设置的属性。
- 如果坐标区不存在,则 axis 函数会创建坐标区。
- 使用 hold on 避免绘图函数覆盖预设的坐标轴范围。
说明
axis(limits)指定当前坐标区的范围。以包含 4 个、6 个或 8 个元素的向量形式指定范围。
axis style使用预定义样式设置轴范围和尺度。例如,将样式指定为 equal 以便沿着每个坐标轴使用相等的数据单位长度。
axis mode设置 MATLAB® 是否自动选择范围。将模式指定为 manual、auto 或半自动选项之一,例如 'auto x'。
axis ydirection,其中 ydirection 为 ij,即将原点放在坐标区的左上角。y 值按从上到下的顺序逐渐增加。ydirection 的默认值为 xy,即将原点放在左下角。y 值按从下到上的顺序逐渐增加。
axis visibility,其中 visibility 为 off,即关闭坐标区背景的显示。而坐标区中的绘图仍会显示。visibility 的默认值为 on,即显示坐标区背景。
lim = axis返回当前坐标区的 x 轴和 y 坐标轴范围。对于三维坐标区,还会返回 z 坐标轴范围。对于极坐标区,它返回 theta 轴和 r 坐标轴范围。
[m,v,d] = axis('state') 返回坐标轴范围选择、坐标区可见性和 y 轴方向的当前设置。在以后的版本中将会删除该语法。改用坐标区的 XLimMode、YLimMode、ZLimMode、Visible 和 YDir 属性来获取这些值。
___ = axis(ax,___)使用 ax 指定的坐标区或极坐标区,而不是使用当前坐标区。指定 ax 作为上述任何语法的第一个输入参数。将字符向量类型的输入参数用单引号引起来,例如 axis(ax,'equal')。
示例
设置坐标轴范围
绘制正弦函数。如下所示:
讯享网x = linspace(0,2*pi); y = sin(x); plot(x,y,'-o')
如图所示:

更改坐标轴范围,使 x 轴的范围从 0 到 2π,y 轴的范围从 -1.5 到 1.5。即:
axis([0 2*pi -1.5 1.5])
如图所示:

使用半自动坐标轴范围
创建一个绘图。设置 x 轴的范围和 y 轴的最小范围。对最大的 y 轴范围使用自动计算的值。如下所示:
讯享网x = linspace(-10,10,200); y = sin(4*x)./exp(.1*x); plot(x,y) axis([-10 10 0 inf])
如图所示:

设置多个坐标轴的坐标轴范围
从 R2019b 开始,可以使用 tiledlayout 和 nexttile 函数显示分块绘图。调用 tiledlayout 函数以创建一个 2×1 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。在每个坐标区中绘制数据。然后将两个坐标区的轴范围设置为相同的值。
tiledlayout(2,1) x1 = linspace(0,10,100); y1 = sin(x1); ax1 = nexttile; plot(ax1,x1,y1) x2 = linspace(0,5,100); y2 = sin(x2); ax2 = nexttile; plot(ax2,x2,y2) axis([ax1 ax2],[0 10 -1 1])
显示绘图而不显示坐标区背景
绘制曲面而不显示坐标区的线条和背景。如下所示:
讯享网surf(peaks) axis off
如图所示:

使用紧凑的坐标轴范围并返回值
绘制一个曲面。将坐标轴范围设置为等于数据范围,这样绘图可以扩展到坐标区边缘。如下所示:
surf(peaks) axis tight
如图所示:

返回当前坐标轴范围的值。即:
讯享网surf(peaks) axis tight l = axis l = 1.0000 49.0000 1.0000 49.0000 -6.5466 8.0752
更改坐标系的方向
创建棋盘图并更改坐标系的方向。首先,使用 summer 颜色图创建绘图。默认情况下,x 轴的值按从左到右的顺序逐渐增加,y 轴的值按从下到上的顺序逐渐增加。
C = eye(10); pcolor(C) colormap summer
如图所示:

反转坐标系,这样 y 的值按从上到下的顺序逐渐增加。即:
讯享网C = eye(10); pcolor(C) colormap summer axis ij
如图所示:

添加新绘图时保留当前的坐标轴范围
绘制一个正弦波。即:
x = linspace(0,10); y = sin(x); plot(x,y)
如图所示:

使用 hold on 将另一正弦波添加到坐标区中。通过将范围模式设置为手动来保留当前的坐标轴范围。即:
讯享网x = linspace(0,10); y = sin(x); plot(x,y) y2 = 2*sin(x); hold on axis manual plot(x,y2) hold off
如图所示:

如果希望由这些坐标区自动选择合适的范围,请将范围模式设置回自动。即:
x = linspace(0,10); y = sin(x); plot(x,y) x = linspace(0,10); y = sin(x); plot(x,y) y2 = 2*sin(x); hold on axis manual plot(x,y2) hold off axis auto
如图所示:


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/27664.html