本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

hold

添加新绘图时保留当前绘图

说明

示例

hold on 保留当前坐标区中的绘图,从而使新添加到坐标区中的绘图不会删除现有绘图。新绘图基于坐标区的 ColorOrderLineStyleOrder 属性使用后续的颜色和线型。MATLAB® 将调整坐标区的范围、刻度线和刻度标签以显示完整范围的数据。如果不存在坐标区,hold 命令会创建坐标区。

示例

hold off 将保留状态设置为 off,从而使新添加到坐标区中的绘图清除现有绘图并重置所有的坐标区属性。添加到坐标区的下一个绘图基于坐标区的 ColorOrderLineStyleOrder 属性使用第一个颜色和线型。此选项为默认行为。

hold allhold on 相同。在以后的版本中将会删除该语法。请改用 hold on

hold 在 on 和 off 之间切换保留状态。

示例

hold(ax,___)ax 指定的坐标区而非当前坐标区设置 hold 状态。指定坐标区作为以上任何语法的第一个输入参数。使用单引号将 'on''off' 输入引起来,例如 hold(ax,'on')

示例

全部折叠

创建一个线图。使用 hold on 添加第二个线图,而不删除已有的线图。新绘图基于坐标区的 ColorOrderLineStyleOrder 属性使用下一种颜色和线型。然后将 hold 状态重置为 off。

x = linspace(-pi,pi);
y1 = sin(x);
plot(x,y1)

hold on
y2 = cos(x);
plot(x,y2)
hold off

当 hold 状态为 off 时,新绘图将删除现有绘图。新绘图从色序和线型序列的开头开始。

y3 = sin(2*x);
plot(x,y3)

从 R2019b 开始,您可以使用 tiledlayoutnexttile 函数显示平铺绘图。调用 tiledlayout 函数以创建一个 2×1 平铺图布局。调用 nexttile 函数以创建坐标区对象 ax1ax2。在每个坐标区中绘制一个正弦波图。

x = linspace(0,10);
y1 = sin(x);
y2 = cos(x);
tiledlayout(2,1)

% Top plot
ax1 = nexttile;
plot(ax1,x,y1)

% Bottom plot
ax2 = nexttile;
plot(ax2,x,y2)

向上方坐标区添加第二个正弦波。

hold(ax1,'on')
y3 = sin(2*x);
plot(ax1,x,y3)
hold(ax1,'off')

输入参数

全部折叠

目标坐标区,指定为 Axes 对象、PolarAxes 对象或 GeographicAxes 对象。如果您不指定坐标区,hold 将为当前坐标区设置 hold 状态。

提示

  • 使用 ishold 函数测试保留状态。

算法

hold 函数设置以下属性:

  • NextPlot 坐标区属性 - 将相关联的 AxesPolarAxesGeographicAxes 对象的此属性设置为 'add''replace'

  • NextPlot 图窗属性 - 将 Figure 对象的此属性设置为 'add'

在 R2006a 之前推出