Matplotlib: dessiner les lignes de la grille derrière d'autres éléments de graphique
Dans Matplotlib, je fais en pointillés les lignes de la grille comme suit:
fig = pylab.figure()
ax = fig.add_subplot(1,1,1)
ax.yaxis.grid(color='gray', linestyle='dashed')
cependant, je ne peux pas savoir comment (ou même si c'est possible) de faire des lignes de la grille à être tiré derrière les autres graphique des éléments, tels que les bars. Modification de l'ordre de l'ajout de la grille contre l'ajout d'autres éléments ne fait aucune différence.
Est-il possible de faire en sorte que les lignes de la grille apparaissent derrière tout le reste?
ax.set_axisbelow(True)
fonctionne toujours. Aussi agréable pour une sortie pdf...- Je me serais attendu à
ax.set_axisbelow(True)
par défaut...
Vous devez vous connecter pour publier un commentaire.
Selon cette - http://matplotlib.1069221.n5.nabble.com/axis-elements-and-zorder-td5346.html - vous pouvez utiliser
Axis.set_axisbelow(True)
(Je suis en train d'installer des matplotlib pour la première fois, ont donc aucune idée de si c'est exact - je viens de trouver ça sur google "matplotlib z ordre de la grille" - "z" est généralement utilisé pour décrire ce genre de chose (z étant l'axe "de la page"))
Pour moi, il était difficile de savoir comment appliquer andrew cooke réponse, donc c'est une solution complète basée sur:
Si vous souhaitez valider le réglage pour tous chiffres, vous pouvez définir
ou
Il travaille pour Matplotlib>=2.0.
J'ai eu le même problème et le suivant travaillé:
Augmentation
3
à une valeur plus élevée si cela ne fonctionne pas.grid
a unzorder=2.5
.