我可以创建自定义的matplotlib.patches.ArrowStyle吗?
import matplotlib.pyplot as plt
from matplotlib.patches import ArrowStyle
plt.figure(1, figsize=(9,9))
ArrowStyle("Test", head_length=.4, head_width=200, tail_width=2)
ax = plt.subplot(111)
ax.annotate("",
xy=(0.2, 0.2), xycoords='data',
xytext=(0.8, 0.8), textcoords='data',
arrowprops=dict(arrowstyle="Test",
connectionstyle="arc3"),
)
plt.show()
我想改变头和尾的宽度。在matplotlib documentation on matplotlib.patches.arrowstyle中写道,可以将箭头样式对象创建为ArrowStyle("Fancy", head_length=.4, head_width=.4, tail_width=.4)
。但是,当我更改参数时,箭头的样式保持不变。
答案 0 :(得分:0)
必须使用预定义样式,例如Fancy
。此外,ArrowStyle
和参数必须添加到ax.annotate
内的相应位置。
import matplotlib.pyplot as plt
from matplotlib.patches import ArrowStyle
plt.figure(1, figsize=(9,9))
ax = plt.subplot(111)
ax.annotate("",
xy=(0.2, 0.2), xycoords='data',
xytext=(0.8, 0.8), textcoords='data',
arrowprops=dict(arrowstyle=("Fancy, head_length=5, head_width=10, tail_width=5"),
connectionstyle="arc3"),
)
plt.show()