本页翻译不是最新的。点击此处可查看最新英文版本。
设置坐标轴范围和纵横比
全页折叠
语法
axis(limits)
axis style
axis mode
axis ydirection
axis visibility
lim = axis
___ = axis(ax,___)
说明
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 坐标轴范围。
示例
___ = axis(ax,___)
使用 ax
指定的坐标区或极坐标区,而不是使用当前坐标区。指定 ax
作为上述任何语法的第一个输入参量。将字符向量类型的输入参量用单引号引起来,例如 axis(ax,'equal')
。
示例
示例
全部折叠
设置坐标轴范围
打开实时脚本
绘制正弦函数。
x = linspace(0,2*pi);y = sin(x);plot(x,y,'-o')
更改坐标轴范围,使 x 轴的范围从 到 ,y 轴的范围从 -1.5 到 1.5。
axis([0 2*pi -1.5 1.5])
在阶梯图周围添加填充
打开实时脚本
创建一个阶梯图,并使用 axis padded
命令在图和图框之间添加填充边距。
x = 0:12;y = sin(x);stairs(x,y)axis padded
使用半自动坐标轴范围
打开实时脚本
创建一个绘图。设置 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
返回当前坐标轴范围的值。
l = axis
l = 1×6 1.0000 49.0000 1.0000 49.0000 -6.5466 8.0752
更改坐标系的方向
打开实时脚本
创建棋盘图并更改坐标系的方向。
首先,使用 summer
颜色图创建绘图。默认情况下,x 轴的值按从左到右的顺序逐渐增加,y 轴的值按从下到上的顺序逐渐增加。
C = eye(10);pcolor(C)colormap summer
反转坐标系,这样 y 的值按从上到下的顺序逐渐增加。
axis ij
添加新绘图时保留当前的坐标轴范围
打开实时脚本
绘制一个正弦波。
x = linspace(0,10);y = sin(x);plot(x,y)
使用 hold on
将另一正弦波添加到坐标区中。通过将范围模式设置为手动来保留当前的坐标轴范围。
y2 = 2*sin(x);hold onaxis manualplot(x,y2)hold off
如果您希望由这些坐标区自动选择合适的范围,请将范围模式设置回自动。
axis auto
输入参数
全部折叠
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
| auto
| 'auto x'
| 'auto y'
| 'auto z'
| 'auto xy'
| 'auto xz'
| 'auto yz'
用来确定坐标轴范围的手动、自动或半自动选择,指定为该表中的以下值之一。所有自动模式值都使用 tickaligned
style 来计算您指定的轴或坐标区的限制。
值 | 描述 | 更改的坐标区属性 |
---|---|---|
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
| padded
| fill
| equal
| image
| square
| vis3d
| normal
坐标轴范围和尺度,指定为以下值之一。
值 | 描述 | 更改的坐标区属性 |
---|---|---|
tickaligned | 通常,将坐标区框的边缘与最接近数据的刻度线对齐,但不排除任何数据。外观可能因绘制的数据类型和创建的图类型而异。 |
|
tight | 将坐标轴范围设置为等同于数据范围,使轴框紧密围绕数据。 |
|
padded | 坐标区框紧贴数据,只留很窄的填充边距。边距的宽度大约是数据范围的 7%。 |
|
equal | 沿每个坐标轴使用相同的数据单位长度。 | 将 此样式禁用默认的“伸展填充”行为。 |
image | 沿每个坐标区使用相同的数据单位长度,并使坐标区框紧密围绕数据。 | 将 此样式禁用默认的“伸展填充”行为。 |
square | 使用相同长度的坐标轴线。相应调整数据单位之间的增量。 | 将 此样式禁用默认的“伸展填充”行为。 |
fill | 启用“伸展填充”行为(默认值)。每个轴线的长度恰好围成由坐标区的 Position 属性所定义的位置矩形。 | 将 |
vis3d | 冻结纵横比属性。 | 将 |
normal | 还原默认行为。 | 将 |
有关图框纵横比和数据纵横比的详细信息,请参阅 PlotBoxAspectRatio 和 DataAspectRatio 属性。
注意
这些选项不能用于极坐标区,除非使用 axis tight
和 axis normal
命令。
ydirection
— y 轴方向
xy
(默认) | ij
y 轴方向,指定为下列值之一:
xy
- 默认方向。对于二维视图中的坐标区,y 轴是垂直的,值从下到上逐渐增加。ij
- 反转方向。对于二维视图中的坐标区,y 轴是垂直的,值从上到下逐渐增加。
注意
这些选项不能用于极坐标区。
visibility
— 坐标区线条和背景的可见性
"on"
| "off"
| true
或 1
| false
或 0
| OnOffSwitchState
值
坐标区线条和背景可见性,指定以下任一值:
"on"
或"off"
- 值"on"
显示坐标区线条和背景,"off"
隐藏它们。您还可以指定字符向量'on'
或'off'
。数值或逻辑值
1
(true
) 或0
(false
) - 值1
或true
显示坐标区线条和背景,0
或false
隐藏它们。 (自 R2024a 起)matlab.lang.OnOffSwitchState 值 - 值
matlab.lang.OnOffSwitchState.on
显示坐标区线条和背景,值matlab.lang.OnOffSwitchState.off
隐藏它们。 (自 R2024a 起)
注意
使用括号指定 1
、0
、true
、false
或 OnOffSwitchState
值。例如,axis(0)
和 axis(false)
隐藏坐标轴。
对于值 "on"
和 "off"
来说,括号是可选的。例如,axis 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
避免绘图函数覆盖预设的坐标轴范围。
版本历史记录
在 R2006a 之前推出
全部展开
R2024a: 通过指定逻辑值或 OnOffSwitchState
值来显示或隐藏坐标区
通过将 visibility
输入参量指定为逻辑值或 matlab.lang.OnOffSwitchState 值来显示或隐藏坐标区。值 1
和 true
等效于 "on"
,0
和 false
等效于 "off"
。
仍支持值 "on"
和 "off"
。
R2015a: 将不再支持查询范围选择模式、可见性和 y 轴方向
以下语法返回坐标轴范围选择模式 (m
)、可见性 (v
) 和 y 轴方向 (d
),但该语法会发出警告,指出它将在以后的版本中删除。
[m,v,d] = axis('state')
您可以通过查询以下 Axes
属性获得相同的信息:
坐标轴范围选择模式 - XLimMode、YLimMode 和 ZLimMode 属性
可见性 - Visible 属性
x 和 y 轴方向 - XDir 和 YDir 属性
另请参阅
函数
- xlim | ylim | zlim | tiledlayout | nexttile | title | grid
属性
- Axes 属性 | PolarAxes 属性
主题
- 指定坐标轴范围
- 控制坐标轴长度比率和数据单位长度
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- Deutsch
- English
- Français
- United Kingdom (English)
Contact your local office