Matlab中axis函数使用

Matlab中axis函数使用目录 语法 说明 示例 设置坐标轴范围 使用半自动坐标轴范围 设置多个坐标轴的坐标轴范围 显示绘图而不显示坐标区背景 使用紧凑的坐标轴范围并返回值 更改坐标系的方向 添加新绘图时保留当前的坐标轴范围 axis 函数的功能是设置坐标轴范围和纵横比 语法 axis limits axis style

大家好,我是讯享网,很高兴认识大家。

目录

语法

说明

示例

设置坐标轴范围

使用半自动坐标轴范围

设置多个坐标轴的坐标轴范围

显示绘图而不显示坐标区背景

使用紧凑的坐标轴范围并返回值

更改坐标系的方向

添加新绘图时保留当前的坐标轴范围


        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

如图所示:

小讯
上一篇 2025-03-03 07:17
下一篇 2025-02-27 10:45

相关推荐

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