⋮
2026b

# pbaspect


控制每个轴的相对长度

函数库: TyPlot

# 语法

pbaspect(ratio)
pb = pbaspect()
pbaspect("auto")
___ = pbaspect(ax,___)

# 说明

pbaspect(ratio) 设置当前坐标区的图框纵横比。图框纵横比是 x 轴、y 轴和 z 轴的相对长度。将 ratio 指定为由正值组成的三元素向量,以表示 x 轴、y 轴和 z 轴长度的比率。例如,[3 1 1] 指定 x 轴的长度等于 y 轴和 z 轴长度的三倍。如需轴长度在所有方向上都相等,请使用 [1 1 1]。示例


pb=pbaspect() 返回当前坐标区的图框纵横比。示例


pbaspect("auto") 设置自动模式,从而允许坐标区选择适当的图框纵横比。模式必须为自动,才能启用坐标区的“伸展填充”功能。示例


___ = pbaspect(ax,___) 使用 ax 指定的坐标区,而不是使用当前坐标区。指定坐标区作为以上任何语法的第一个输入参数。示例

# 示例

使用相等的轴长度

创建一个简单的线图。使 x 轴、y 轴和 z 轴(不显示)长度相等。

using TyPlot
x = LinRange(0, 10, 50);
y = sin.(x);
plot(x, y)
pbaspect([1 1 1])
使用不同的轴长度

绘制一个曲面,并使 x 轴的长度是 y 轴和 z 轴的两倍。

using TyBase
using TyPlot
xs = collect(-2:0.2:2)
ys = collect(-2:0.2:2)

x, y = meshgrid2(xs, ys);
z = x .* exp.(-x .^ 2 - y .^ 2);
surf(x, y, z)
pbaspect([2 1 1])
还原为默认图框纵横比

创建随机数据的三维散点图并设置图框纵横比。然后还原为默认图框纵横比。

using TyPlot
X = rand(100,1);
Y = rand(100,1);
Z = rand(100,1);

scatter3(X,Y,Z)
pbaspect([3 2 1])
pbaspect("auto")
查询图框纵横比

创建一个曲面图。

using TyBase
using TyPlot
xs = collect(-2:0.2:2)
ys = collect(-2:0.2:2)

x, y = meshgrid2(xs, ys);
z = x .* exp.(-x .^ 2 - y .^ 2);
surf(x, y, z)

查询图框纵横比。这些值指示 x 轴长度、y 轴长度与 z 轴长度的比率。

d = pbaspect()
为特定坐标区设置图框纵横比

调用 subplot 函数以创建一个 2×1 分块图布局和一个坐标区对象,创建坐标区对象 ax1 和 ax2。在每个坐标区中绘制。然后通过将 ax2 指定为 pbaspect 函数的第一个输入参数,设置下部图的图框纵横比。

using TyPlot
ax1 = subplot(2,1,1, projection="3d")
X,Y,Z = peaks(20)
mesh(X,Y,Z)

ax2 = subplot(2,1,2, projection="3d")
mesh(X,Y,Z)
pbaspect(ax2,[2 2 1])

# 输入参数

ratio - 图框纵横比
三元素向量

图框纵横比,指定为由正值组成的三元素向量。例如,pbaspect([3 2 1]) 指定 x 轴长度、y 轴长度和 z 轴长度的比率为 3:2:1。因此,x 轴最长,z 轴最短。

指定比率可将 Axes 对象与 XLim、YLim 和 ZLim 属性交互作用,以控制 x 轴、y 轴和 z 轴的长度和缩放。

数据类型: Int16 | Int32 | Int64 | Float16 | Float32 | Float64

ax - 目标坐标区
Axes 对象

目标坐标区,指定为 Axes 对象。如果您不指定坐标区,则 pbaspect 使用当前坐标区 (gca)。

# 输出参数

pb - 当前图框纵横比值
三元素向量

当前图框纵横比,以三元素向量值的形式返回,表示 x 轴、y 轴和 z 轴长度的比率。

查询图框纵横比模式将返回 Axes 对象的图框纵横比。

# 另请参阅

# 函数

axis | daspect | xlim | ylim | zlim