当我执行此代码时:
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。
最佳答案
这似乎是 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()
关于python - matplotlib.patches.FancyArrow 的尾部变细了,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/43586086/