2013-10-30 168 views
2

我已經生成了一個16點的圖。我已經在Matlab中使用繪圖加入了它們。這是我目前使用的功能。在Matlab中向曲線添加箭頭

plot(X1,Y1,'--rs','LineWidth',2,... 
       'MarkerEdgeColor','k',... 
       'MarkerFaceColor','g',... 
       'MarkerSize',10); 

產生的情節是這樣的 enter image description here

的問題是,我DONOT知道這一點,繪製第一,然後點繪製第二個,等等。加入他們的紅線非常隨意,不可能遵循它。是否可以繪製圖像中顯示的紅色虛線的方向?

+2

我建議把一個標籤,每個標記上一個號碼,而不是拉接生產線的方向。 – freude

+0

以及我如何在Matlab中做到這一點。這個linepec屬性的鏈接不指定標記標籤或像這樣的其他屬性http://www.mathworks.com/help/matlab/ref/linespec.html – azmuhak

回答

5

您可以通過改變顏色爲每個段實現了方向感:

N = length(X1); 
cmap = flipud(hot(N-1)); % or try other colormaps instead of "hot" 
plot(X1,Y1,'s','MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10); 
hold on 
for ii = 1:N-1 
    plot([X1(ii) X1(ii+1)], [Y1(ii) Y1(ii+1)],'LineWidth',2,'Color',cmap(ii,:)) 
end 

enter image description here

你應該變量cmap定義實驗,得到了一些你喜歡的顏色。例如,如果你不想太亮黃色的,你可以使用

cmap = flipud(hot(2*N-1)); 
cmap = cmap(N+1:end,:); 

enter image description here

+0

我認爲這是要走的路。實際上,在for循環中添加兩行代碼並不會太難,它們會使箭頭變成箭頭。 – bdecaf

+0

漂亮,平滑的顏色變化。很酷! – chappjc

+0

@chappjc謝謝! :-) –