gpt4 book ai didi

python - 无论matplotlib中箭头的角度如何,使箭头形状对称

转载 作者:太空宇宙 更新时间:2023-11-03 11:15:27 24 4
gpt4 key购买 nike

以下代码生成下图。箭头的形状取决于箭头的角度。我怎样才能使所有的箭头都具有相同的对称形状?我专门询问 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()

arrow head demo

最佳答案

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()

enter image description here

箭头目前的文档有点少,但仍然有 a plan to write up一些完整的教程或指南。

关于python - 无论matplotlib中箭头的角度如何,使箭头形状对称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52612812/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com