以下代码生成下图.箭头的形状取决于箭头的角度.如何使所有箭头都具有相同的对称形状?我特别要求
Python 3,但欢迎一般的解决方案.
import matplotlib.pyplot as plt
plt.arrow(0, 0, .5, .5, head_width = .1)
plt.arrow(0, 0, .2, .5, head_width = .1)
plt.arrow(0, 0, 0, .5, head_width = .1)
plt.axis((-1, 1, -1 ,1))
plt.show()
最佳答案 plt.arrow是不可能的.
我猜plt.arrow仍然存在的原因纯粹是为了向后兼容. matplotlib.patches.FancyArrowPatch可以更好地生成箭头.在你的情节中获得这种FancyArrowPatch的最简单方法是通过plt.annotate.
import matplotlib.pyplot as plt
prop = dict(arrowstyle="-|>,head_width=0.4,head_length=0.8",
shrinkA=0,shrinkB=0)
plt.annotate("", xy=(.5,.5), xytext=(0,0), arrowprops=prop)
plt.annotate("", xy=(.2,.5), xytext=(0,0), arrowprops=prop)
plt.annotate("", xy=(.0,.5), xytext=(0,0), arrowprops=prop)
plt.axis((-1, 1, -1 ,1))
plt.show()
箭头目前有点未被记录,但仍有a plan to write up一些完整的教程或指南.