Dans Matplotlib, je crée des lignes de grille en pointillés 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 s'il est possible) faire en sorte que les lignes de la grille soient dessinées derrière d'autres éléments du graphique, tels que des barres. Changer l'ordre d'ajout de la grille par rapport à 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?
python
matplotlib
grid
Andrew
la source
la source
ax.set_axisbelow(True)
fonctionne encore. Aussi bien pour la sortie pdf ...ax.set_axisbelow(True)
à être la valeur par défaut ...Réponses:
Selon ceci - http://matplotlib.1069221.n5.nabble.com/axis-elements-and-zorder-td5346.html - vous pouvez utiliser
Axis.set_axisbelow(True)
(J'installe actuellement matplotlib pour la première fois, donc je n'ai aucune idée si c'est correct - je viens de le trouver en googlant "matplotlib z order grid" - "z order" est généralement utilisé pour décrire ce genre de chose (z étant l'axe "hors de la page"))
la source
Pour moi, on ne savait pas comment appliquer la réponse d'Andrew Cooke, c'est donc une solution complète basée sur cela:
la source
Si vous souhaitez valider le réglage pour tous les chiffres, vous pouvez définir
ou
Cela fonctionne pour Matplotlib> = 2.0.
la source
J'ai eu le même problème et ce qui suit a fonctionné:
Augmentez
3
à une valeur plus élevée si cela ne fonctionne pas.la source