Matlab中hold函数用法
目录
说明
示例
在现有坐标区上添加线图
指定特定坐标区的保留状态
设置多个坐标区的保留状态
hold函数的功能是添加新绘图时保留当前绘图。
语法
hold on
hold off
hold all
hold
hold(ax,___)
说明
hold on 保留当前坐标区中的绘图,从而使新添加到坐标区中的绘图不会删除现有绘图。新绘图基于坐标区的 ColorOrder 和 LineStyleOrder 属性使用后续的颜色和线型。MATLAB® 将调整坐标区的范围、刻度线和刻度标签以显示完整范围的数据。如果不存在坐标区,hold 命令会创建坐标区。
hold off 将保留状态设置为 off,从而使新添加到坐标区中的绘图清除现有绘图并重置所有的坐标区属性。添加到坐标区的下一个绘图基于坐标区的 ColorOrder 和 LineStyleOrder 属性使用第一个颜色和线型。此选项为默认行为。
hold all 与 hold on 相同。在以后的版本中将会删除该语法。改用 hold on。
hold 在 on 和 off 之间切换保留状态。
hold(ax,___) 为 ax 指定的坐标区而非当前坐标区设置 hold 状态。请在前面任何语法中的所有其他参数之前指定 ax。使用单引号将 'on' 和 'off' 输入引起来,例如 hold(ax,'on')。
示例
在现有坐标区上添加线图
创建一个线图。使用 hold on 添加第二个线图,而不删除已有的线图。新绘图基于坐标区的 ColorOrder 和 LineStyleOrder 属性使用下一种颜色和线型。然后将 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 开始,可以使用 tiledlayout 和 nexttile 函数显示分块图。调用 tiledlayout 函数以创建一个 2×1 分块图布局。调用 nexttile 函数以创建坐标区对象 ax1 和 ax2。在每个坐标区中绘制一个正弦波图。
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')
如图所示:
设置多个坐标区的保留状态
创建 1×2 分块图布局。调用 nexttile 函数以创建两个坐标区对象并在坐标区中绘图。
t = tiledlayout(1,2);
ax1 = nexttile;
ax2 = nexttile;
plot(ax1,[0 1 0 1])
scatter(ax2,rand(1,10),rand(1,10),'filled')
如图所示:
将两个坐标区的 hold 状态都设置为 'on'。然后在每个图中显示附加数据。
hold([ax1 ax2],'on')
plot(ax1,[.5 .2 .5 .2])
scatter(ax2,rand(1,10),rand(1,10),'filled')
如图所示:
参数说明
目标坐标区,指定为下列值之一:
-
任何类型的坐标区对象:Axes、PolarAxes 或 GeographicAxes 对象。
-
属于同一类的坐标区对象组成的数组。要确定类,请使用 class 函数。
如果不指定坐标区,hold 将为当前坐标区设置 hold 状态。
提示:使用 ishold 函数测试保留状态。
算法:
hold 函数设置以下属性:
NextPlot 坐标区属性 - 将相关联的 Axes、PolarAxes 或 GeographicAxes 对象的此属性设置为 'add' 或 'replace'。
NextPlot 图窗属性 - 将 Figure 对象的此属性设置为 'add'。
jk_101: MATLAB中isfloat函数用法
jk_101: MATLAB中isnumeric函数用法
muchpretty: ‘EdgeColor’设置为‘none’即可
是我来晚了!: wps解压
jk_101: MATLAB中rcond 函数用法