2013-03-01 64 views
8

我使用這使情節註釋一個陰謀在特定時刻的東西包含如高亮使用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() 

是否有任何想法,如果我能在此添加水平文本如「跨度1」:

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

或者使用文本'line1'並且有箭頭顯示在這個範圍內?

回答

10

這裏是你如何能有一個箭頭顯示的跨度:

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

+0

我可以讓arrowstyle =「 - >顯示施特拉特 – 2013-03-01 12:00:14

+0

看看文檔用箭頭標註:http://matplotlib.org/users/ annotations_guide.html#annotating-with-arrow。有很多示例用法,你一定會找到你需要的, – alecxe 2013-03-01 12:54:30

+0

應該使用'text'還是'annotate',但是? – endolith 2017-07-15 01:23:56