2012-03-31 15 views
18

He conseguido trazar una serie de puntos con el siguiente código:¿Cómo puedo establecer el color de fondo en áreas específicas de una figura de 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') 

me gustaría colocar bandas alternas de fondo blanco y gris en la figura con el fin de separar los datos de cada iteración de la exterior para el bucle. En otras palabras, me gustaría que los datos de cada "spktrain" tengan su propio color de fondo (los datos no se superponen).

¿Cómo puedo cambiar el color de fondo de una figura en una región específica?

Respuesta

35

Puede utilizar axhspan y/o axvspan así:

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

Cuestiones relacionadas