使用matplotlib注释一个图

时间:2013-03-01 00:13:09

标签: python matplotlib

我正在使用它来创建一个包含特定时刻的内容,例如高亮显示

plt.axis('normal')
plt.axvspan(76, 76, facecolor='g', alpha=1)
plt.plot(ts.e1, 'r',linewidth=1.5)
plt.ylabel("Anger",fontsize=14,color='blue')
plt.ylim(ymax=0.04)
plt.xlim(xmax=122)
plt.grid(True)
plt.title("Anger - Real Events", fontsize=20,color='black')
plt.xlabel('minutes', fontsize=14, color='b')
plt.show()

有没有想法我是否可以添加像'span 1'这样的水平文字:

plt.axvspan(76, 76, facecolor='g', alpha=1)

或使用文字'line1'并在此范围内显示一个箭头?

1 个答案:

答案 0 :(得分:12)

以下是如何显示跨度的箭头:

import matplotlib.pyplot as plt

plt.axvspan(76, 76, facecolor='g', alpha=1)
plt.annotate('This is awesome!', 
             xy=(76, 0.75),  
             xycoords='data',
             textcoords='offset points',
             arrowprops=dict(arrowstyle="->"))
plt.show()

有关注释的详细信息,请参阅docs

以上代码的输出: enter image description here