Matlab如何填充箭头箭头

我正在做一个颤抖阴谋:

[x,y] = meshgrid(0:0.2:2,0:0.2:2);
u = cos(x).*y;
v = sin(x).*y;
figure
quiver(x,y,u,v)

我想要箭头被填充(即 并不是 )

从文档中,它应该是非常简单的使用

quiver(...,LineSpec,'filled')

但是,我仍然无法弄清楚正确的语法 - 这些都不起作用:

quiver(x,y,u,v,'LineWidth','filled');
quiver(x,y,u,v,'LineWidth',1,'filled');

谢谢你的帮助!


编辑:使用行说明符执行以下操作:

quiver(x,y,u,v) %Original

在这里输入图像描述

quiver(x,y,u,v,'-sk','filled') %With line specifiers

在这里输入图像描述


我不是MATLAB专业人员,所以请原谅我的答案是否笨重。 我相信有更好的方法来解决这个问题 - 以下是我找到的。

我决定解决这个问题,检索箭头提示的位置,删除它们并用fill重新绘制它们(如Deve建议)。 我注意到,我可以告诉fill一个多边形结束,然后通过插入NaN值开始(这也是原始箭头提示的绘制方式,您可以看到检查原始XData )。 这样做,我失去了影响物体颜色的可能性,并且它们没有被填满。 作为一种解决方法,我在循环中绘制了新的箭头 - 我知道可能有更好的方法来做到这一点,所以我很高兴任何补充。

我用你给的例子,只用HANDLE = quiver(x,y,u,v);替换最后一行HANDLE = quiver(x,y,u,v); 去处理情节。 从那里开始:

children=get(handle,'children'); % retrieve the plot-children - 
                                 % second element are the arrow tips

XData=get(children(2),'XData'); % retrieve the coordinates of the tips
YData=get(children(2),'YData');

hold on
delete(children(2))  % delete old arrow tips

for l=1:4:length(XData)-3   % paint new arrow tips, skipping the NaN-values
    ArrowTips((l-1)/4+1)=fill(XData(l:l+2),YData(l:l+2),'r');
end

然后,您可以找到ArrowTips变量中箭头提示的句柄。 随意指定要fill的呼叫中的边缘和脸部颜色,这里分别是黑色和红色。


实际上,对类似问题的回答中的代码工作得很好。 它使用注释。

在Matlab中,如何更改箭袋图中的箭头样式?

链接地址: http://www.djcxy.com/p/19869.html

上一篇: Matlab how to fill quiver arrow heads

下一篇: Difference in stringstream behavior for void* type using libc++ and libstdc++