Matlab中hold on与hold off的用法

时间:2022-10-13 19:01:22

hold on是当前轴及图像保持而不被刷新,准备接受此后将绘制的图形,多图共存

即,启动图形保持功能,当前坐标轴和图形都将保持,从此绘制的图形都将添加在这个图形的基础上,并自动调整坐标轴的范围。

hold off使当前轴及图像不再具备被刷新的性质,新图出现时,取消原图。即,关闭图形保持功能。

hold on 和hold off,是相对使用的
前者的意思是,你在当前图的轴(坐标系)中画了一幅图,再画另一幅图时,原来的图还在,与新图共存,都看得到
后者表达的是,你在当前图的轴(坐标系)中画了一幅图,此时,状态是hold off,则再画另一幅图时,原来的图就看不到了,在轴上绘制的是新图,原图被替换了

>> t=(0:pi/100:pi)';       
y1=sin(t)*[1,-1];      
y2=sin(t).*sin(9*t);       
t3=pi*(0:9)/9;               
y3=sin(t3).*sin(9*t3);             
plot(t,y1,'r:',t,y2,'-bo')            
hold on     
plot(t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0]) 
axis([0,pi,-1,1])           
hold off

图形

>> t=(0:pi/100:pi)';       
y1=sin(t)*[1,-1];      
y2=sin(t).*sin(9*t);       
t3=pi*(0:9)/9;               
y3=sin(t3).*sin(9*t3);             
plot(t,y1,'r:',t,y2,'-bo')            
plot(t3,y3,'s','MarkerSize',10,'MarkerEdgeColor',[0,1,0],'MarkerFaceColor',[1,0.8,0]) 
axis([0,pi,-1,1])           
hold off

去掉hold on后的图形,只显示最后的一次数据