2017-09-13 23 views
0

我想繪製對應於在特定時間點獲得的值的垂直線。Matlab條形圖在每個測量值的特定時間點

實施例:

a = [0 5 7 9 ] at 0 seconds, 
b = [0.5 6 6.5 11] at 2 seconds, 
c = [0 4 2 10] at 4 seconds 

每個時間點將會是矢量的最大值和最小值之間的垂直線。我還需要標記的abc的開始和結束點,例如a應在0具有圓形(或星形等)和9

下面是一個例子輸出:

Example Image

+1

首先,您需要採用向量的'min'和'max',其他數據似乎不相關?然後使用[這個'scatter' /'line'方法](https://stackoverflow.com/a/46151836/3978545)來繪製帶有終點標記的線條,或者[這個「浮動」的'stem'方法](https ://stackoverflow.com/a/21921150/3978545)因爲你所有的行都是垂直的,你可以製作你的情節。如果您想要實際的編碼幫助,請添加您嘗試過的任何代碼,而不是從頭開始爲您編寫代碼 – Wolfie

+0

@Wolfie謝謝您的回答。分散/線條方法幫助了我很多 –

回答

0

您可以使用帶終點標記的line

% Your data 
a = [0 5 7 9 ]; 
b = [0.5 6 6.5 11]; 
c = [0 4 2 10]; 
% Combine to get min/max values 
data = [a; b; c].'; 
mins = min(data); 
maxs = max(data); 
% Plot using line, nice flexible method which plots vertical lines at points 2:2:n 
line(repmat(2*(0:numel(mins)-1), 2, 1), [mins; maxs], 'color', 'k', 'marker', 'o') 

輸出:

plot


如果你想在每一端是不同的標記,或不同的顏色,請參閱this answer這給出了更詳細的例子。

相關問題