如何在matplotlib中更改箭头宽度和CurveB的长度?

时间:2015-06-14 07:10:10

标签: python matplotlib

我正在尝试使用带有以下代码的箭头创建注释:

import matplotlib.pyplot as plt
figure = plt.figure(figsize=(5.15, 5.15))
figure.clf()
plot = plt.subplot(111)
plot.set_xlabel(r'\textit{X}', labelpad=6)
plot.set_ylabel(r'\textit{Y}', labelpad=6)
plt.annotate(r'\textit{P}', xy = (0.5, 0.5),  \
    xycoords = 'data', xytext = (0.4, 0.4), \
    textcoords = 'data', fontsize = 7, arrowprops=dict(arrowstyle = "->"))
plt.show()

我尝试按如下方式更改头部宽度和头部长度:

arrowprops=dict(arrowstyle = "->", head_width = 0.2, head_length = 0.1)

但它给了我以下错误:

AttributeError: 'FancyArrowPatch' object has no attribute 'set_head_width'

如何在matplotlib中更改头部长度,头部宽度和体宽?

1 个答案:

答案 0 :(得分:0)

使用 headwidth frac 指定箭头的宽度和长度。
frac 是从总箭头长度写为分数的头长。

plt.annotate(r'\textit{P}', xy = (0.5, 0.5),  \
    xycoords = 'data', xytext = (0.4, 0.4), \
    textcoords = 'data', fontsize = 7, arrowprops=dict(headwidth = 15, frac = 0.5))