目录
zlim函数是设置或查询 z 坐标轴范围。
语法
zlim(limits)
zl = zlim
zlim auto
zlim manual
m = zlim('mode')
___ = zlim(ax,___)
limits
- 最小和最大范围
最小和最大范围,指定为 [zmin zmax] 形式的二元素向量,其中 zmax 大于 zmin。可以将范围指定为数字、分类、日期时间或持续时间值。但是,指定的值的类型必须匹配 z 轴的值的类型。
可以指定这两个范围,也可以指定一个范围而让 MATLAB® 自动计算另一个范围。对于自动计算的最小值或最小值范围,分别使用 -inf 或 inf 来表示。
ax
- 目标坐标区
目标坐标区,指定为 Axes 对象或 Axes 对象数组。如果不指定此参数,则 zlim 会设置当前坐标区的范围。
zl
- 当前范围
当前范围,返回为 [zmin zmax] 形式的一个二元素向量。查询范围时将返回对应 Axes 对象的 ZLim 属性值。
m
- 当前范围模式
当前范围模式,返回为下列值之一:
-
'auto' - 自动确定范围。
-
'manual' - 使用手动指定的范围,这些范围不会更新以反映数据的变化
说明
zlim(limits) 设置当前坐标区的 z 坐标轴范围。将 limits 指定为 [zmin zmax] 形式的二元素向量,其中 zmax 大于 zmin。
zl = zlim 以二元素向量形式返回当前范围。
zlim auto 设置自动模式,使坐标区确定 z 坐标轴范围。范围将跨越绘图数据范围。如果更改了范围,然后又想将它们设置回默认值,则可以使用此选项。此命令会将坐标区的 ZLimMode 属性设置为 'auto'。
zlim manual 设置手动模式,将范围冻结在当前值。当使用 hold on 命令向坐标区添加新数据时,如果要保留当前范围,请使用此选项。此命令会将坐标区的 ZLimMode 属性设置为 'manual'。
m= zlim('mode') 返回当前 z 坐标轴范围模式:'auto' 或 'manual'。默认情况下,该模式为自动,除非指定范围或将模式设置为手动。
___ = zlim(ax,___) 使用 ax 指定的坐标区,而不是使用当前坐标区。指定 ax 作为上述任何语法的第一个输入参数。如果原始语法支持输出参数,则可以包含输出参数。模式输入应放在单引号内,例如 zlim(ax,'auto')。
示例
设置 z 坐标轴范围
绘制一个曲面,并将 z 坐标轴范围设置为从 -5 至 5。
[X,Y,Z] = peaks;
surf(X,Y,Z);
zlim([-5 5])
使用半自动 z 坐标轴范围
创建网格曲面图并仅显示大于 0 的 z 值。将最小 z 轴范围指定为 0,并由 MATLAB 选择最大范围。
[X,Y,Z] = peaks;
mesh(X,Y,Z)
zlim([0 inf])
设置特定坐标区的 z 坐标轴范围
从 R2019b 开始,可以使用 tiledlayout 和 nexttile 函数显示分块图。调用 tiledlayout 函数以创建一个 2×1 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。在每个坐标区中绘制数据。然后通过将 ax2 指定为 zlim 的第一个输入参数,设置底部图的 z 坐标轴范围。
[X,Y,Z] = peaks;
tiledlayout(2,1)
ax1 = nexttile;
surf(X,Y,Z)
ax2 = nexttile;
surf(X,Y,Z)
zlim(ax2,[-5 5])
保持当前 z 坐标轴范围
当将更多绘图添加到坐标区时,使用手动模式可保持当前 z 坐标轴范围。首先创建一个三维散点图。
theta = linspace(0,2*pi);
X = cos(theta);
Y = sin(theta);
Z = theta;
scatter3(X,Y,Z)
设置 z 坐标轴范围模式,以便范围不发生变化。使用 hold on
将第二个绘图添加到坐标区。
zlim manual
hold on
Znew = 5*theta;
scatter3(X,Y,Znew)
hold off
z 坐标轴范围不会更新以包含该新绘图。通过将模式设置为自动来重新切换回自动更新的范围。
zlim auto
返回 z 坐标轴范围
创建一个由随机数据组成的三维散点图。返回 z 坐标轴范围的值。
x = randn(50,1);
y = randn(50,1);
z = randn(50,1);
scatter3(x,y,z)
zl = zlim
zl = 1×2
-3 3