hold on是當前軸及圖形保持住而不被刷新,這個方法適合於即時數據,原理是先畫上一幀,接着保留原始圖像,追加下一幀圖像,此種方式比較繁雜,涉及到畫圖細節,並沒有完整並連續的Line對象數據。此方法只能用在點或者分段劃線。
在Matlab中使用hold on模式控制動態畫圖程序代碼如下:
%%
% Hold On 法
% 此種方法只能點,或者分段劃線
hold off
t=0;
m=0;
t1=[0 0.1]; %要構成序列
m1=[sin(t1);cos(t1)];
p = plot(t,m,'*',t1,m1(1,:),'-r',t1,m1(2,:),'-b','MarkerSize',5);
x=-1.5*pi;
axis([x x+2*pi -1.5 1.5]);
grid on;
for i=1:100
hold on
t=0.1*i; %下一個點
m=t-floor(t);
t1=t1+0.1; %下一段線(組)
m1=[sin(t1);cos(t1)];
p = plot(t,m,'*',t1,m1(1,:),'-r',t1,m1(2,:),'-b','MarkerSize',5);
x=x+0.1;
axis([x x+2*pi -1.5 1.5]);
pause(0.01);
end
運行時可以看到動態的作圖,得到如下的圖形:
hold off:使得當前軸及圖形不再具備被刷新的性質。