43 votes

Comment puis-je définir la couleur d'arrière-plan sur des zones spécifiques d'une figure pyplot ?

J'ai réussi à tracer une série de points avec le code suivant :

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

Je voudrais placer des bandes alternées de fond blanc et gris sur la figure afin de séparer les données de chaque itération de la boucle for externe. En d'autres termes, je voudrais que les données de chaque "spktrain" aient leur propre couleur d'arrière-plan (les données ne se chevauchent pas).

Comment puis-je modifier la couleur de fond d'un personnage dans une région spécifique ?

94voto

tom10 Points 19886

Vous pouvez utiliser axhspan et/ou axvspan comme ceci :

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

entrez la description de l'image ici

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X