2012-03-19 112 views
0

我想繪製一些一維數據到MATLAB中的二維圖上。MATLAB:繪製二維圖上的一維數據

基本上,我有一個波形輸出,我想垂直線疊加在相關的數據點。目前,我正在策劃對我用下面的代碼預先存在的圖頂部:

plot(velocityPeaks(:,1), 0, 'r.'); 

這將產生在y = 0的每個位置的紅點是「velocityPeaks」包含的值。我寧願把它看作是貫穿整個圖形的垂直紅線。這裏是我的電流輸出:

enter image description here

那些紅點 - 此刻我必須用尺子對着電腦屏幕上看到它們涉及到什麼。不是理想的解決方案!

+1

你有沒有考慮過「幹」? – 2012-03-19 12:33:36

+0

Seconded @ OliCharlesworth的建議:'stem(velocityPeaks(:,1),velocityPeaks(:,2))' – Jonas 2012-03-19 13:39:29

回答

2

這應該工作:

plot(velocityPeaks(:,[1 1]) , ylim,'r-') 

這處已經包含在情節在Y限制的velocityPeaks(:,1)位置繪製了一系列的垂直線。要自己指定的限制,使用,例如:

plot(velocityPeaks(:,[1 1]) , [4 9],'r-') 
-2

也許你可以使用圖中的data cursor icon,然後點擊紅色的點來獲得它的座標。

0

這不正是你想要的,但每當我做這樣的事情,我喜歡在高峯位置繪製在原始波形上界。所以像這樣的東西(假設velocity是原始波形):

velocityPeakValues = velocity(velocityPeaks); 
plot(velocityPeaks(:,1), velocityPeakValues(:,1), 'ro');