15.2.1.1 轴配置

axis 函数可用于更改现有绘图的轴限制以及各种其他轴对象属性,例如纵横比和刻度标记的外观。默认情况下,高级绘图函数(如 plot)会重置轴属性。任何属性的自定义设置,例如调用 axisxlim 等,应在绘图完成后进行,或者在调用 hold 函数之后进行。

 
axis ()
axis ([x_lo x_hi])
axis ([x_lo x_hi y_lo y_hi])
axis ([x_lo x_hi y_lo y_hi z_lo z_hi])
axis ([x_lo x_hi y_lo y_hi z_lo z_hi c_lo c_hi])
axis (option)
axis (option1, option2, …)
axis (hax, …)
limits = axis ()

设置轴限制和外观。

参数 limits 应为 2、4、6 或 8 元素向量。第一个和第二个元素指定 x 轴的下限和上限。第三个和第四个指定 y 轴的限制,第五个和第六个指定 z 轴的限制,第七个和第八个指定颜色轴的限制。特殊值 -InfInf 可用于指示应基于轴中的数据自动计算限制。

不带任何参数时,axis 开启自动缩放。

使用一个输出参数时,limits = axis 返回当前的轴限制。

指定限制的向量参数是可选的,并且可以使用其他字符串参数来指定各种轴属性。

以下选项控制轴的纵横比。

"equal"

强制 x 轴单位距离等于 y 轴(和 z 轴)单位距离。

"square"

强制方形轴纵横比。

"vis3d"

将纵横比模式("DataAspectRatio""PlotBoxAspectRatio")设置为 "manual",以便在不拉伸的情况下进行旋转。

"normal"
"fill"

恢复默认的自动计算纵横比。

以下选项控制轴限制的解释方式。

"auto"
"auto[xyz]"
"auto [xyz]"

为所有轴或仅指定的轴设置自动计算的合适限制。

"manual"

固定当前的轴限制。

"tickaligned"

将轴固定到最近刻度的限制。

"tight"

将轴固定到数据范围。

"padded"

将轴固定到数据范围加上约 7% 数据范围的边距。

"image"

等同于 "tight""equal"

以下选项会影响刻度标记的外观。

"tic"
"tic[xyz]"
"tic [xyz]"

为所有轴开启刻度标记,或为指定轴开启,为其余轴关闭。

"label"
"label[xyz]"
"label [xyz]"

为所有轴开启刻度标签,或为指定轴开启,为其余轴关闭。

"nolabel"

关闭所有轴的刻度标签。

以下选项影响轴上值递增的方向。

"xy"

默认 y 轴,较大的值靠近顶部。

"ij"

反转 y 轴,较小的值靠近顶部。

以下选项影响轴的可见性。

"on"

使轴可见。

"off"

隐藏轴。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

示例 1:设置 X/Y 限制并强制方形纵横比

axis ([1, 2, 3, 4], "square");

示例 2:在所有轴上启用刻度标记,仅在 y 轴上启用刻度标签

axis ("tic", "labely");

另请参阅: xlim, ylim, zlim, clim, daspect, pbaspect, box, grid.

类似地,颜色图的轴限制可以通过 clim 函数进行更改。

 
clim ([cmin cmax])
clim ("auto")
clim ("manual")
clim (hax, …)
limits = clim ()

查询或设置绘图的颜色轴限制。

限制参数应该是一个 2 元素向量,指定分配给颜色图中第一个和最后一个值的下限和上限。此范围之外的数据值将被截取到第一个和最后一个颜色图条目。

如果指定了 "auto" 选项,则应用自动颜色图限制。自动算法将 cmin 设置为最小数据值,cmax 设置为最大数据值。如果指定了 "manual",则将 "climmode" 属性设置为 "manual",并使用 "clim" 属性中的数值作为限制。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

不带参数调用时,返回当前的颜色轴限制。

编程说明:颜色轴影响图像(image)、补片(patch)和曲面(surface)图形对象的显示,但仅当 "cdata" 属性包含索引数据且 "cdatamapping" 属性设置为 "scaled" 时才有效。具有真彩色 cdata"direct" cdatamapping 的图形对象不受影响。

另请参阅: colormap, axis.

xlimylimzlim 函数可用于获取或设置各个轴的限制。每个函数都具有相同的形式。

 
xlimits = xlim ()
xmode = xlim ("mode")
xmethod = xlim ("method")
xlim ([x_lo x_hi])
xlim ("mode")
xlim ("method")
xlim (hax, …)

查询或设置当前绘图的 x 轴限制。

不带参数调用时,xlim 返回当前绘图的 x 轴限制。

使用输入查询 "mode" 时,返回当前的 x 限制计算模式,该模式为 "auto""manual"

使用输入查询 "method" 时,返回当前的 x 限制计算方法,该方法为 "tickaligned""tight""padded"

如果传递了 2 元素向量 [x_lo x_hi],则将 x 轴限制设置为这些值,并将模式设置为 "manual"。特殊值 -Inf 和 Inf 可用于指示应自动计算轴的下限或上限。

当前的限制计算 "mode" 可以是以下之一:

"auto"(默认)

根据绘图数据和当前指定的限制计算方法自动计算限制。

"manual"

将轴限制固定为当前值。

当前的限制计算方法可以是以下之一:

"tickaligned"(默认)

计算包含所有数据的限制,并向外延伸到最近的刻度线。

"tight"

计算完全适合数据范围的限制。

"padded"

计算在数据周围留出约 7% 数据范围边距的限制。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

编程说明:xlim 函数通过修改轴对象的 "xlim""xlimmode""xlimitmethod" 属性来工作。这些属性可以通过 get/set 直接检查和修改。

另请参阅: ylim, zlim, axis, set, get, gca.

 
ylimits = ylim ()
ymode = ylim ("mode")
ymethod = ylim ("method")
ylim ([y_lo y_hi])
ylim ("mode")
ylim ("method")
ylim (hax, …)

查询或设置当前绘图的 y 轴限制。

不带参数调用时,ylim 返回当前绘图的 y 轴限制。

使用输入查询 "mode" 时,返回当前的 y 限制计算模式,该模式为 "auto""manual"

使用输入查询 "method" 时,返回当前的 y 限制计算方法,该方法为 "tickaligned""tight""padded"

如果传递了 2 元素向量 [y_lo y_hi],则将 y 轴限制设置为这些值,并将模式设置为 "manual"。特殊值 -Inf 和 Inf 可用于指示应自动计算轴的下限或上限。

当前的限制计算 "mode" 可以是以下之一:

"auto"(默认)

根据绘图数据和当前指定的限制计算方法自动计算限制。

"manual"

将轴限制固定为当前值。

当前的限制计算方法可以是以下之一:

"tickaligned"(默认)

计算包含所有数据的限制,并向外延伸到最近的刻度线。

"tight"

计算完全适合数据范围的限制。

"padded"

计算在数据周围留出约 7% 数据范围边距的限制。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

编程说明:ylim 函数通过修改轴对象的 "ylim""ylimmode""ylimitmethod" 属性来工作。这些属性可以通过 get/set 直接检查和修改。

另请参阅: xlim, zlim, axis, set, get, gca.

 
zlimits = zlim ()
zmode = zlim ("mode")
zmethod = zlim ("method")
zlim ([z_lo z_hi])
zlim ("mode")
zlim ("method")
zlim (hax, …)

查询或设置当前绘图的 z 轴限制。

不带参数调用时,zlim 返回当前绘图的 z 轴限制。

使用输入查询 "mode" 时,返回当前的 z 限制计算模式,该模式为 "auto""manual"

使用输入查询 "method" 时,返回当前的 z 限制计算方法,该方法为 "tickaligned""tight""padded"

如果传递了 2 元素向量 [z_lo z_hi],则将 z 轴限制设置为这些值,并将模式设置为 "manual"。特殊值 -Inf 和 Inf 可用于指示应自动计算轴的下限或上限。

当前的限制计算 "mode" 可以是以下之一:

"auto"(默认)

根据绘图数据和当前指定的限制计算方法自动计算限制。

"manual"

将轴限制固定为当前值。

当前的限制计算方法可以是以下之一:

"tickaligned"(默认)

计算包含所有数据的限制,并向外延伸到最近的刻度线。

"tight"

计算完全适合数据范围的限制。

"padded"

计算在数据周围留出约 7% 数据范围边距的限制。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

编程说明:zlim 函数通过修改轴对象的 "zlim""zlimmode""zlimitmethod" 属性来工作。这些属性可以通过 get/set 直接检查和修改。

另请参阅: xlim, ylim, axis, set, get, gca.

xticksytickszticksrticksthetaticks 函数可用于获取或设置相应轴上的刻度标记位置和模式。每个函数都具有相同的形式,尽管模式选项目前不适用于 rticksthetaticks

 
tickval = xticks
mode = xticks ("mode")
xticks (tickval)
xticks ("auto")
xticks ("manual")
… = xticks (hax, …)

查询或设置当前轴 x 轴上的刻度值。

不带参数调用时,返回 "xtick" 轴属性中指定的当前刻度位置。可以通过使用刻度值向量调用 xticks 来更改这些位置。注意:不需要升序。

使用参数 "mode" 调用时,xticks 返回轴属性 "xtickmode" 的当前值。可以通过使用 "auto"(算法确定刻度位置)或 "manual"(无论轴调整大小或旋转,刻度值保持固定)调用 xticks 来更改此属性。注意:指定 xtick 值也会将 "xtickmode" 属性设置为 "manual"

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

在调用 xticks 设置属性值时请求返回值将导致错误。

另请参阅: xticklabels, yticks, zticks, rticks, thetaticks, get, set.

 
tickval = yticks
mode = yticks ("mode")
yticks (tickval)
yticks ("auto")
yticks ("manual")
… = yticks (hax, …)

查询或设置当前轴 y 轴上的刻度值。

不带参数调用时,返回 "ytick" 轴属性中指定的当前刻度位置。可以通过使用刻度值向量调用 yticks 来更改这些位置。注意:不需要升序。

使用参数 "mode" 调用时,yticks 返回轴属性 "ytickmode" 的当前值。可以通过使用 "auto"(算法确定刻度位置)或 "manual"(无论轴调整大小或旋转,刻度值保持固定)调用 yticks 来更改此属性。注意:指定 ytick 值也会将 "ytickmode" 属性设置为 "manual"

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

在调用 yticks 设置属性值时请求返回值将导致错误。

另请参阅: yticklabels, xticks, zticks, rticks, thetaticks, get, set.

 
tickval = zticks
mode = zticks ("mode")
zticks (tickval)
zticks ("auto")
zticks ("manual")
… = zticks (hax, …)

查询或设置当前轴 z 轴上的刻度值。

不带参数调用时,返回 "ztick" 轴属性中指定的当前刻度位置。可以通过使用刻度值向量调用 zticks 来更改这些位置。注意:不需要升序。

使用参数 "mode" 调用时,zticks 返回轴属性 "ztickmode" 的当前值。可以通过使用 "auto"(算法确定刻度位置)或 "manual"(无论轴调整大小或旋转,刻度值保持固定)调用 zticks 来更改此属性。注意:指定 ztick 值也会将 "ztickmode" 属性设置为 "manual"

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

在调用 zticks 设置属性值时请求返回值将导致错误。

另请参阅: zticklabels, xticks, yticks, rticks, thetaticks, get, set.

 
tickval = rticks
rticks (tickval)
… = rticks (hax, …)

查询或设置极坐标图 r 轴上的刻度值。

不带参数调用时,返回 "rtick" 轴属性中指定的当前刻度位置。可以通过使用刻度值向量调用 rticks 来更改这些位置。注意:不需要升序。

注意:Octave 当前不实现极坐标对象。因此,无法查询或设置 "rtick" 属性的 "mode",这可以使用等价的 xyz 轴函数来实现。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

在调用 rticks 设置属性值时请求返回值将导致错误。

另请参阅: rticklabels, xticks, yticks, zticks, thetaticks, polar, get, set.

 
tickval = thetaticks
thetaticks (tickval)
… = thetaticks (hax, …)

查询或设置当前轴的 theta(角度)轴上的刻度值。

不带参数调用时,返回 "ttick" 轴属性中指定的当前刻度位置。可以通过使用刻度值向量调用 thetaticks 来更改这些位置。注意:不需要升序。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

在调用 thetaticks 设置属性值时请求返回值将导致错误。

注意:Octave 当前不实现极坐标对象。因此,无法查询或设置 "thetatick" 属性的 "mode",这可以使用等价的 xyz 轴函数来实现。

另请参阅: rticks, xticks, yticks, zticks, polar, get, set.

xticklabelsyticklabelszticklabels 函数可用于获取或设置分配给每个刻度位置的标签以及相应轴上的标签模式。每个函数都具有相同的形式。

 
labels = xticklabels
mode = xticklabels ("mode")
xticklabels (tickval)
xticklabels ("auto")
xticklabels ("manual")
… = xticklabels (hax, …)

查询或设置当前轴 x 轴上的刻度标签。

不带参数调用时,返回 "xticklabel" 轴属性中指定的当前刻度标签的字符串元胞数组。可以通过使用字符串元胞数组调用 xticklabels 来更改这些标签。注意:数字向量将被映射为字符串元胞数组。如果指定的标签少于当前刻度数,则会将空白标签附加到剩余位置。

使用参数 "mode" 调用时,xticklabels 返回轴属性 "xticklabelmode" 的当前值。可以通过使用 "auto"(算法确定刻度标签)或 "manual"(刻度标签保持固定)调用 xticklabels 来更改此属性。注意:指定 xticklabel 值也会将 "xticklabelmode""xticks" 属性设置为 "manual"

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

在调用 xticklabels 设置属性值时请求返回值将导致错误。

另请参阅: xticks, yticklabels, zticklabels, get, set.

 
labels = yticklabels
mode = yticklabels ("mode")
yticklabels (tickval)
yticklabels ("auto")
yticklabels ("manual")
… = yticklabels (hax, …)

查询或设置当前轴 y 轴上的刻度标签。

不带参数调用时,返回 "yticklabel" 轴属性中指定的当前刻度标签的字符串元胞数组。可以通过使用字符串元胞数组调用 yticklabels 来更改这些标签。注意:数字向量将被映射为字符串元胞数组。如果指定的标签少于当前刻度数,则会将空白标签附加到剩余位置。

使用参数 "mode" 调用时,yticklabels 返回轴属性 "yticklabelmode" 的当前值。可以通过使用 "auto"(算法确定刻度标签)或 "manual"(刻度标签保持固定)调用 yticklabels 来更改此属性。注意:指定 yticklabel 值也会将 "yticklabelmode""yticks" 属性设置为 "manual"

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

在调用 yticklabels 设置属性值时请求返回值将导致错误。

另请参阅: yticks, xticklabels, zticklabels, get, set.

 
labels = zticklabels
mode = zticklabels ("mode")
zticklabels (tickval)
zticklabels ("auto")
zticklabels ("manual")
… = zticklabels (hax, …)

查询或设置当前轴 z 轴上的刻度标签。

不带参数调用时,返回 "zticklabel" 轴属性中指定的当前刻度标签的字符串元胞数组。可以通过使用字符串元胞数组调用 zticklabels 来更改这些标签。注意:数字向量将被映射为字符串元胞数组。如果指定的标签少于当前刻度数,则会将空白标签附加到剩余位置。

使用参数 "mode" 调用时,zticklabels 返回轴属性 "zticklabelmode" 的当前值。可以通过使用 "auto"(算法确定刻度标签)或 "manual"(刻度标签保持固定)调用 zticklabels 来更改此属性。注意:指定 zticklabel 值也会将 "zticklabelmode""zticks" 属性设置为 "manual"

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

在调用 zticklabels 设置属性值时请求返回值将导致错误。

另请参阅: zticks, xticklabels, yticklabels, get, set.

rticklabelsthetaticklabels 函数可用于获取或设置极坐标图的相应轴上的刻度标签。

 
labels = rticklabels
rticklabels (tickval)
… = rticklabels (hax, …)

查询或设置极坐标图 r 轴上的刻度标签。

不带参数调用时,返回当前 rtick 标签的字符串元胞数组。

使用参数 tickval(可以是数字向量或字符串和/或数字的元胞数组)调用时,标签将被更改为匹配这些新值。注意,由 polar 创建的图的中心点从不标记,因此第一个指定的标签将应用于第二个 rtick 位置,后续标签将向外推进。

如果指定的标签少于当前刻度数,这些标签将从最内侧的刻度标签开始应用,剩余的刻度将附加空白标签。如果指定的标签数超过刻度标签数,多余的标签将被忽略。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

在调用 rticklabels 设置属性值时请求返回值将导致错误。

兼容性说明:'mode' 属性尚未为 rticklabels 实现。

另请参阅: polar, rticks, thetaticklabels, xticklabels, yticklabels, zticklabels, get, set.

 
labels = thetaticklabels
thetaticklabels (tickval)
… = thetaticklabels (hax, …)

查询或设置极坐标图 theta 轴上的刻度标签。

不带参数调用时,返回当前 theta 刻度标签的字符串元胞数组。

使用参数 tickval(可以是数字向量或字符串和/或数字的元胞数组)调用时,标签将被更改为匹配这些新值。值将从零度刻度标记开始应用,并按逆时针方向推进。

如果指定的标签少于当前 theta 刻度数,这些标签将从零度刻度标记开始应用,剩余的刻度将附加空白标签。如果指定的标签数超过刻度标签数,多余的标签将被忽略。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

在调用 thetaticklabels 设置属性值时请求返回值将导致错误。

兼容性说明:'mode' 属性尚未为 thetaticklabels 实现。

另请参阅: polar, thetaticks, rticklabels, xticklabels, yticklabels, zticklabels, get, set.

xtickangleytickangleztickangle 函数可用于获取或设置相应轴刻度标签的旋转角度。每个函数都具有相同的形式。

 
angle = xtickangle ()
angle = xtickangle (hax)
xtickangle (angle)
xtickangle (hax, angle)

查询或设置当前轴 x 轴上刻度标签的旋转角度。

不带参数调用时,返回轴属性 "XTickLabelRotation" 中指定的刻度标签的旋转角度(以度为单位)。使用数值标量 angle 调用时,将刻度标签逆时针旋转到 angle 度。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

编程说明:

  1. "XTickLabelRotation" 属性当前在 Octave 中尚未实现。该属性可以设置和查询,但对绘图没有影响。
  2. 在设置指定旋转的同时请求返回值将导致错误。

另请参阅: ytickangle, ztickangle, get, set.

 
angle = ytickangle ()
angle = ytickangle (hax)
ytickangle (angle)
ytickangle (hax, angle)

查询或设置当前轴 y 轴上刻度标签的旋转角度。

不带参数调用时,返回轴属性 "YTickLabelRotation" 中指定的刻度标签的旋转角度(以度为单位)。使用数值标量 angle 调用时,将刻度标签逆时针旋转到 angle 度。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

编程说明:

  1. "YTickLabelRotation" 属性当前在 Octave 中尚未实现。该属性可以设置和查询,但对绘图没有影响。
  2. 在设置指定旋转的同时请求返回值将导致错误。

另请参阅: xtickangle, ztickangle, get, set.

 
angle = ztickangle ()
angle = ztickangle (hax)
ztickangle (angle)
ztickangle (hax, angle)

查询或设置当前轴 z 轴上刻度标签的旋转角度。

不带参数调用时,返回轴属性 "ZTickLabelRotation" 中指定的刻度标签的旋转角度(以度为单位)。使用数值标量 angle 调用时,将刻度标签逆时针旋转到 angle 度。

如果第一个参数 hax 是轴句柄,则在此轴上操作,而不是在 gca 返回的当前轴上操作。

编程说明:

  1. "ZTickLabelRotation" 属性当前在 Octave 中尚未实现。该属性可以设置和查询,但对绘图没有影响。
  2. 在设置指定旋转的同时请求返回值将导致错误。

另请参阅: xtickangle, ytickangle, get, set.