201 votes

Matplotlib: trace des lignes de la grille derrière d'autres éléments graphiques

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 sais pas comment (ni même s'il est possible) de tracer les lignes de la grille derrière d'autres éléments graphiques, 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?

196voto

andrew cooke Points 20902

Selon cela - http://old.nabble.com/axis-elements-and-zorder-td6119088.html - vous pouvez utiliser Axis.set_axisbelow ()

(J'installe actuellement matplotlib pour la première fois. Je ne sais donc pas si c'est exact. Je l'ai trouvé en cherchant "grille de commande z de matplotlib" - "ordre de z" est généralement utilisé pour décrire ce genre de chose (z étant l'axe "hors de la page"))

8voto

Saullo Castro Points 12260

J'ai eu le même problème et les choses suivantes ont fonctionné:

 [line.set_zorder(3) for line in ax.lines]
fig.show() # to update
 

Augmentez 3 à une valeur supérieure si cela ne fonctionne pas.

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