Python matplotlib.patches.FancyArrow的尾巴变细了
当我执行此代码时:Python matplotlib.patches.FancyArrow的尾巴变细了,python,matplotlib,Python,Matplotlib,当我执行此代码时: plt.figure(figsize=(3,3)) plt.xlim(-3, 3); plt.ylim(-3,3); plt.arrow(0,0, 2, 2, head_length=1.4, head_width=1.8, width=1.4, alpha=0.2, length_includes_head=True, fc='r') 我得到以下输出: 但是我不想让尾巴收缩。在我的另一台电脑上,我没有这个问题。有人知道怎么解决吗 我的matplotlib版本是2
plt.figure(figsize=(3,3))
plt.xlim(-3, 3); plt.ylim(-3,3);
plt.arrow(0,0, 2, 2, head_length=1.4, head_width=1.8, width=1.4,
alpha=0.2, length_includes_head=True, fc='r')
我得到以下输出:
但是我不想让尾巴收缩。在我的另一台电脑上,我没有这个问题。有人知道怎么解决吗
我的matplotlib版本是2.0.0。这似乎是
箭头中的某种错误。您可能希望有一个tail\u width
参数来设置箭头(或其尾部)的宽度。然而,这并不存在
作为解决方法,您可以使用需要手动添加到轴的FancyRowPatch
。FancyRowPatch
有一个参数arrowstyle
,您可以向其提供一个参数字符串。在此字符串中,正确识别“尾部宽度”
import matplotlib.pyplot as plt
import matplotlib.patches as patches
plt.figure(figsize=(3,3))
plt.xlim(-3, 3); plt.ylim(-3,3);
style="Simple,head_length=28,head_width=36,tail_width=20"
plt.gca().add_patch(
patches.FancyArrowPatch((0,0), (2,2),arrowstyle=style,alpha=0.2,fc='r' ))
plt.show()
非常感谢您的帮助!查看github错误报告,pyplot.arrow似乎存在多个问题。从现在起,我将使用patches.FancyArrowPatch-它在我的matplotlib版本上使用您的代码就可以了。
tail\u width
参数的单位是什么?我是否可以将该装置定制为其他部件,如ax.transData
?