执行此代码时:
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。
答案 0 :(得分:3)
这似乎是arrow
中的某种错误。你会期望有一个tail_width
参数来设置箭头(或它的尾部)的宽度。然而,这不存在。
作为解决方法,您可以使用手动添加到轴所需的FancyArrowPatch
。 FancyArrowPatch
有一个参数arrowstyle
,您可以向其提供一串参数。在此字符串中"tail_width"
被正确识别。
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()