En Matplotlib, hago líneas de cuadrícula discontinuas de la siguiente manera:
fig = pylab.figure()
ax = fig.add_subplot(1,1,1)
ax.yaxis.grid(color='gray', linestyle='dashed')
sin embargo, no puedo averiguar cómo (o incluso si es posible) hacer que las líneas de la cuadrícula se dibujen detrás de otros elementos del gráfico, como barras. Cambiar el orden de agregar la cuadrícula versus agregar otros elementos no hace ninguna diferencia.
¿Es posible hacer que las líneas de la cuadrícula aparezcan detrás de todo lo demás?
python
matplotlib
grid
Andrés
fuente
fuente
ax.set_axisbelow(True)
todavía funciona. También es bueno para la salida en pdf ...ax.set_axisbelow(True)
ser el predeterminado ...Respuestas:
De acuerdo con esto, http://matplotlib.1069221.n5.nabble.com/axis-elements-and-zorder-td5346.html , puede usar
Axis.set_axisbelow(True)
(Actualmente estoy instalando matplotlib por primera vez, así que no tengo idea de si eso es correcto - lo encontré buscando en Google "matplotlib z order grid" - "z order" se usa típicamente para describir este tipo de cosas (siendo z el eje "fuera de la página"))
fuente
Para mí, no estaba claro cómo aplicar la respuesta de Andrew Cooke, por lo que esta es una solución completa basada en eso:
fuente
Si desea validar la configuración para todas las cifras, puede configurar
o
Funciona para Matplotlib> = 2.0.
fuente
Tuve el mismo problema y funcionó lo siguiente:
Aumente
3
a un valor más alto si no funciona.fuente