2026a

# axis


设置坐标轴范围和纵横比

函数库: TyPlot

# 语法

axis(limits)
axis(style)
lim = axis()
___ = axis(ax,___)

# 说明

axis(limits) 指定当前坐标区的范围。以包含 4 个、6 个元素的向量形式指定范围。示例


axis(style) 使用预定义样式设置轴范围和尺度。例如,将样式指定为 equal 以便沿着每个坐标轴使用相等的数据单位长度。示例


lim=axis() 返回当前坐标区的 x 轴和 y 坐标轴范围。对于三维坐标区,还会返回 z 坐标轴范围。对于极坐标区,它返回 theta 轴和 r 坐标轴范围。示例


___ = axis(ax,___) 使用 ax 指定的坐标区或极坐标区,而不是使用当前坐标区。指定 ax 作为上述任何语法的第一个输入参数。将字符向量类型的输入参数用双引号引起来,例如 axis(ax,"equal")。示例

# 示例

设置坐标轴范围

绘制正弦函数。

using TyPlot
x = LinRange(0, 2 * pi, 100);
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 轴范围使用自动计算的值。

using TyPlot
x = LinRange(-10, 10, 200);
y = sin.(4 * x) ./ exp.(0.1 * x);
plot(x, y)

yl = ylim()
axis([-10 10 0 yl[2]])
println(yl)
设置多个坐标轴的坐标轴范围

调用 subplot 函数以创建一个 2×1 分块图布局和一个坐标区对象,并将该对象返回为 ax1。通过将 ax1 传递给 plot 函数来创建顶部绘图。重复该过程以创建底部绘图。在每个坐标区中绘制数据。然后将两个坐标区的轴范围设置为相同的值。

using TyPlot
ax1 = subplot(2, 1, 1)
x1 = LinRange(0, 10, 100);
y1 = sin.(x1);
plot(ax1, x1, y1)

x2 = LinRange(0, 5, 100);
y2 = sin.(x2);
ax2 = subplot(2, 1, 2)
plot(ax2, x2, y2)

axis([ax1 ax2],[0 10 -1 1])
显示绘图而不显示坐标区背景

绘制曲面而不显示坐标区的线条和背景。

using TyPlot
X,Y,Z = peaks()
surf(X,Y,Z)
axis("off")
使用紧凑的坐标轴范围并返回值

绘制一个曲面。将坐标轴范围设置为等于数据范围,这样绘图可以扩展到坐标区边缘。

using TyPlot
X,Y,Z = peaks()
surf(X,Y,Z)
axis("tight")
l = axis()
(-3.3, 3.3, -3.3, 3.3, -7.277735427794412, 8.806264448633215)
更改坐标系的方向

创建棋盘图并更改坐标系的方向。

首先,使用 summer 颜色图创建绘图。默认情况下,x 轴的值按从左到右的顺序逐渐增加,y 轴的值按从下到上的顺序逐渐增加。

using TyPlot
using TyBase

C = eye(10);
pc = pcolor(C);
colormap(pc, "summer")

反转坐标系,这样 y 的值按从上到下的顺序逐渐增加。

axis("ij")
添加新绘图时保留当前的坐标轴范围

绘制一个正弦波。

using TyPlot
x = LinRange(0, 10, 50);
y = sin.(x);
plot(x, y)

使用 hold("on") 将另一正弦波添加到坐标区中。通过将范围模式设置为手动来保留当前的坐标轴范围。

y2 = 2 * sin.(x);
hold("on")
axis("manual")
plot(x, y2)
hold("off")

如果您希望由这些坐标区自动选择合适的范围,请将范围模式设置回自动。

axis("auto")

# 输入参数

limits - 坐标轴范围
四元素向量 | 六元素向量

坐标轴范围,指定为包含 4 个、6 个元素的向量。

对于笛卡尔坐标区,以下列形式之一指定范围:

  • [xmin xmax ymin ymax] - 将 x 坐标轴范围设置为从 xmin 到 xmax。将 y 坐标轴范围设置为从 ymin 到 ymax;
  • [xmin xmax ymin ymax zmin zmax] - 还将 z 坐标轴范围设置为从 zmin 到 zmax。

Axes 对象的 XLim、YLim、ZLim 属性存储范围值。

注意

如果 x 轴、y 轴或 z 轴显示日期时间或持续时间值,则改用 xlimylimzlim 函数来设置范围。

示例: axis([0 1 0 1])

示例: axis([0 1 0 1 0 1])

style - str
"on" | "off" | "equal" | "tight" | "auto" | "manual"

style 是字符串,可能的值为:

说明
"on" 打开轴线和标签。
"off" 关闭轴线和标签。
"equal" 通过更改轴限制设置相等的缩放比例(即,使圆成为圆形)。在这种情况下,可能不会遵守明确的数据限制。
"tight" 设置大到足以显示所有数据的限制,然后禁用进一步的自动缩放。
"auto" 自动缩放(用数据填充绘图框)。
"manual" 将所有坐标轴范围冻结在它们的当前值。
"ij" 将y坐标轴反转,值从上到下逐渐增加。
"square" 更改图形比例,显示为正方形。

注意

这些选项不能用于极坐标区。

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 属性存储范围值。

# 另请参阅

# 函数

grid | title | xlim | ylim | zlim

# 属性

axes 属性 | polaraxes 属性