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++