2013-03-01 14 views
8

Sto usando questo per fare una trama con contiene in specifico momento qualcosa come l'evidenziazioneannotare una trama utilizzando 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() 

C'è qualche idea se potessi aggiungere testo orizzontale come 'arco 1' in questo:

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

o utilizzare il testo "riga1" e avere una freccia da mostrare in questo intervallo?

risposta

10

Ecco come si può avere una freccia indicante a campata:

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() 

Per ulteriori informazioni annotate vedi docs.

L'uscita del codice di cui sopra: enter image description here

+0

Posso fare l'arrowstyle = "-> per mostrare strate –

+0

Date un'occhiata a documenti per l'annotazione con le frecce:? Http://matplotlib.org/users/ annotations_guide.html # annotating-with-arrow Ci sono molti esempi di utilizzo: troverai sicuramente quello che ti serve – alecxe

+0

se dovessi usare 'text' o' annotate', però? – endolith

Problemi correlati