如何使箭袋()箭头大小固定的吗?

568(30天)
菲利普Schuback
菲利普Schuback 2017年8月28日
编辑: 亚当Danz 2023年4月7日
你好,
当我使用箭袋()函数来绘制一个箭头在我的散点图,我注意到箭头的大小是不同的,根据箭头本身有多大(基本上它的长度)。
任何想法如何使箭头的箭头大小固定的独立的长度吗?或者至少可以做什么?
最好的。
1评论
muhkuhmw
muhkuhmw 2017年10月16日
编辑:muhkuhmw 2017年10月16日
你找到一个好的解决方案吗?我面临同样的问题。我将试试这个: stackoverflow——在Matlab如何改变颤抖的箭头样式情节?

登录置评。

答案(3)

KSSV
KSSV 2017年8月29日
编辑:亚当Danz 2023年4月7日
3评论

登录置评。


V.G. de Bie
V.G. de Bie 2017年11月14日
只是MaxHeadSize除以箭头的长度,然后将是相同的大小。
3评论
Iuliu Ardelean
Iuliu Ardelean 2022年6月7日
似乎没有工作吗?

登录置评。


broken_arrow
broken_arrow 2021年9月24日
编辑:broken_arrow 2021年9月27日
我同意 箭袋 quiver3 应该有一个建在选择常数箭头大小( @MathWorks支金宝app持团队 )。除以长度不正常工作对我来说(不产生恒定的头部大小)。这是我写了一个函数来解决这个问题 quiver3 :
函数out_arrowhandles =
quiver3addarrowheads (in_quivhandle in_arrowheadlength in_arrowtipangle)
%添加箭头与常数大小quiver3阴谋。
%箭头有相同的倾向相对于z平面向量。
%
%输入参数:
% in_quivhandle:处理颤抖的阴谋是附加的
% in_arrowheadlength:期望的箭头长度向量长度单位
% in_arrowtipangle:期望的箭头提示在度(°)
%
%输出参数:
% out_arrowhandles:箭头线处理
X =重塑(in_quivhandle.XData 1 []);
Y =重塑(in_quivhandle.YData 1 []);
Z =重塑(in_quivhandle.ZData 1 []);
U =重塑(in_quivhandle.UData 1 []);
V =重塑(in_quivhandle.VData 1 []);
W =重塑(in_quivhandle.WData 1 []);
aux_Xend = X + U;
aux_Yend = Y + V;
aux_Zend = Z + W;
aux_orthvectors =交叉([U、V、W], [U、V、W + 1]);
aux_orthvectors = aux_orthvectors。/ vecnorm (aux_orthvectors);
如果~任何(aux_orthvectors, 1)
aux_orthvectors (:, ~ (aux_orthvectors, 1)) = (1, 0, 0);
结束
aux_arrowtips1 = in_arrowheadlength * (- U、V、W。/ vecnorm ([U、V、W])
罐内(in_arrowtipangle) * aux_orthvectors);
aux_arrowtips2 = aux_arrowtips1 +
2 * in_arrowheadlength *罐内(in_arrowtipangle) * aux_orthvectors;
aux_arrowhandle1 = quiver3 (in_quivhandle.Parent aux_Xend、aux_Yend aux_Zend,
aux_arrowtips1 (1:), aux_arrowtips1 (2:), aux_arrowtips1 (3:)
“线宽”in_quivhandle.LineWidth,“颜色”in_quivhandle.Color,
“ShowArrowHead”,“关闭”,自动定量的,“关闭”);
aux_arrowhandle2 = quiver3 (in_quivhandle.Parent aux_Xend、aux_Yend aux_Zend,
aux_arrowtips2 (1:), aux_arrowtips2 (2:), aux_arrowtips2 (3:)
“线宽”in_quivhandle.LineWidth,“颜色”in_quivhandle.Color,
“ShowArrowHead”,“关闭”,自动定量的,“关闭”);
out_arrowhandles = [aux_arrowhandle1 aux_arrowhandle2];
结束
后直接运行功能 quiver3 (与 自动定量的 “ShowArrowHead” 设置为 “关闭” )或结合成一个 customquiver3 函数如果你想要一个一个解决方案。适应函数为2 d 箭袋 ,附加你的2 d输入向量 Z = W = 0 ( 交叉 只适用于3 d向量) 并丢弃z坐标( 0 绘图前)。如果你想要一个箭头的不同倾向,修改相应的向量积。
还要注意,箭头正面看起来如果“倾斜” daspect x y 轴不同。
3评论
里克
里克 2021年9月24日
文档,输入验证的基本形式,我woul说抛光使其超过三分之一的提交。你没有去我目前做之前一样的长度在文件交换。
当然这是你的电话。

登录置评。

类别

找到更多的在向量场帮助中心文件交换

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!