2013-10-30 1146 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谢谢! :-) –