2012-03-31 13 views
18

Ich habe eine Reihe von Punkten mit dem folgenden Code plotten verwaltet:Wie kann ich die Hintergrundfarbe auf bestimmte Bereiche einer Py- plotfigur einstellen?

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

Ich mag abwechselnd Bands aus weißen und grauen Hintergrund auf der Figur, um aus jeder Iteration der die Daten zu trennen platzieren äußere für Schleife. Mit anderen Worten, ich möchte, dass die Daten von jedem "spktrain" eine eigene Hintergrundfarbe haben (die Daten überlappen sich nicht).

Wie kann ich die Hintergrundfarbe einer Figur in einer bestimmten Region ändern?

Antwort

35

können Sie verwenden axhspan und/oder axvspan wie folgt aus:

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

Verwandte Themen