2012-03-31 10 views
18

Sono riuscito a tracciare una serie di punti con il seguente codice:Come posso impostare il colore di sfondo su aree specifiche di una figura pyplot?

plt = pp.figure() 
for i in range(spt.shape[1]): 
    spktrain = spt[0,i] 
    for trial in spktrain: 
     non_z = np.nonzero(trial) 
     non_z = non_z[0] 
     pp.plot(t[non_z], trial[non_z], 'bo') 

Vorrei porre fasce alterne di sfondo bianco e grigio sulla figura al fine di separare i dati di ogni iterazione del esterno per loop. In altre parole, mi piacerebbe che i dati di ogni "spktrain" avessero il proprio colore di sfondo (i dati non si sovrappongono).

Come posso cambiare il colore di sfondo di una figura in una regione specifica?

risposta

35

È possibile utilizzare axhspan e/o axvspan come questo:

import matplotlib.pyplot as plt 

plt.figure() 
plt.xlim(0, 5) 
plt.ylim(0, 5) 

for i in range(0, 5): 
    plt.axhspan(i, i+.2, facecolor='0.2', alpha=0.5) 
    plt.axvspan(i, i+.5, facecolor='b', alpha=0.5) 

plt.show() 

enter image description here

Problemi correlati