2015-05-19 110 views
1

我想模擬使用MATLAB GUI的ECG信號的實時繪圖。出於測試的目的,我試圖實現一個正弦波,如同實時一樣。我正在使用一個GUI,其中一個按鈕開始繪製正弦波,一組標記爲'axes1'的軸。下面的代碼是從回調函數提取的啓動按鈕:在Matlab GUI中設置軸極限

%create a sine wave to plot 
X=[0:0.1:25*pi]; 
X=transpose(X); 
Y=sin(X); 
[a,b] = size(X); 
hold on; 
%initialise axes limits 
axis(handles.axes1,[0,a,-1,1]); 
%plot sine wave 
for i = 1:a 
plot(handles.axes1,1:i,Y(1:i)); 
drawnow; 
pause(0.01); 
end 

結果是一個移動的正弦波,但我想事先軸定義的限制,使他們不守大小調整爲該波被繪製。我已經使用線

axis(handles.axes1,[0,1,-1,1]) 

要設置軸限制嘗試,但它不工作,我會就喜歡,我不知道如何從這個角度出發。

在此先感謝您的幫助!

+1

我已經放置有問題的行內的for循環解決了這個問題。 – lindziwiggins

回答

2

在創建軸時將...LimModeproperties設置爲手動;這樣,當新數據被繪製時它們不應該改變。默認情況下,它們設置爲auto

如:

set(handles.axes,'XLimMode','manual','YLimMode','manual'); 
+1

或者使用'xlim','ylim','axis' –