matplotlib中的箭头属性注释

时间:2017-06-12 00:23:12

标签: python matplotlib annotate

我有Matplotlib版本1.5.1,我面临一个有趣的问题。我想在我的情节中添加一个箭头,它的每一端都有头部,并指定颜色和宽度。然而,在研究Matplotlib documentation on this matter时,我意识到我可能不能同时拥有这两者。我可以让箭头朝向两端,但此箭头将具有默认颜色和线宽 - 如果我在arrowstyle中包含arrowprops,或者我可以省略arrowstyle,则可以选择此选项在箭头属性中设置颜色和宽度,但之后我只有默认箭头。 有没有办法同时获得两者?

我有这段代码:

plt.annotate('', xy=(p[0][0]-p[0][2], 0), xycoords='data', xytext=(p[0][0], 0), textcoords='data', arrowprops=dict(arrowstyle: '<|-|>',color='k',lw=2.5))

会产生SyntaxError: invalid syntax

(注意:p只是一个列表列表,我可以从中获取我的x和y值,我在循环中绘图)

1 个答案:

答案 0 :(得分:4)

您应该可以使用 arrowprops 来设置颜色,宽度和其他属性。

import matplotlib.pyplot as plt

fig = plt.figure()
ax = fig.add_subplot(111)

ax.annotate('test', xy=(0.9, 0.9),
             xycoords='data',
             xytext=(0, 0),
             textcoords='data',
             arrowprops=dict(arrowstyle= '<|-|>',
                             color='blue',
                             lw=3.5,
                             ls='--')
           )

ax.set_xlim(-0.1,1)
ax.set_ylim(-0.1,1)
fig.show()

给出这个数字:enter image description here

这有帮助吗?