我使用MATLAB繪製時間序列的兩行...(最小值和最大值線)兩個時間序列圖和它們之間的陰影... MATLAB
我有在單點匯聚點在數據的末尾。
我想填充行之間的區域,然後在陰影區域頂部繪製其他行。
這裏是我的問題:
當我使用「填充」它不正是我想要它做的...但它繪製一條線從數據恢復到初始數據點的最後一個點。我如何擺脫它?
這裏是我的兩個例子很模糊的草圖:
圖形下方的線就是我談論...
任何想法如何避免這種情況?
謝謝!
我使用MATLAB繪製時間序列的兩行...(最小值和最大值線)兩個時間序列圖和它們之間的陰影... MATLAB
我有在單點匯聚點在數據的末尾。
我想填充行之間的區域,然後在陰影區域頂部繪製其他行。
這裏是我的問題:
當我使用「填充」它不正是我想要它做的...但它繪製一條線從數據恢復到初始數據點的最後一個點。我如何擺脫它?
這裏是我的兩個例子很模糊的草圖:
圖形下方的線就是我談論...
任何想法如何避免這種情況?
謝謝!
正如@Jonas解釋的(打敗我),你需要正確地排序兩個時間序列的數據。我再補充一個例子來指出:
%# first series
x1 = linspace(pi/4, 5*pi/4, 100);
y1 = cos(x1);
%# second series
x2 = linspace(pi/4, 5*pi/4, 100);
y2 = sin(x2);
subplot(121), fill([x1 x2], [y1 y2], 'r')
subplot(122), fill([x1 fliplr(x2)], [y1 fliplr(y2)], 'r')
hold on
plot(x1,y1, 'Color','b', 'LineWidth',3)
plot(x2,y2, 'Color','g', 'LineWidth',3)
我猜你
fill([xData1;xData2],[yData1;yData2])
創建填充其中xData1
是n乘1你的第一個曲線陣列X-數據。這會導致奇怪的多邊形,因爲多邊形的「角落」沒有正確排列。
相反,你應該做的
fill([xData1;xData2(end:-1:1)],[yData1;yData2(end:-1:1])
即翻轉兩個數據集之一的順序。
+1我發表了一個例子來說明 – Amro
相關的問題:MATLAB,在兩組數據中,一個數字線之間的區域填充(http://stackoverflow.com/questions/6245626/matlab-filling-in-the-two-sets-of-data-lines-in-one-figure) – Amro