horizontal adjust grid matplotlib

grid - adjust - ¿Cómo muestro líneas de cuadrícula espaciadas logarítmicamente en todas las marcas en un trazado log-log usando Matplotlib?



matplotlib legend (2)

Estoy intentando trazar un gráfico log-log que muestra líneas de cuadrícula espaciadas logarítmicamente en todas las marcas que ves a lo largo de la parte inferior e izquierda de la gráfica. He podido mostrar algunas líneas de cuadrícula utilizando matplotlib.pyplot.grid(True) , pero esto solo muestra líneas de cuadrícula para mí a una potencia de 10 intervalos. Así que como ejemplo, aquí está lo que estoy recibiendo actualmente:

Realmente me gustaría algo con líneas de cuadrícula con un aspecto más parecido a este, donde las líneas de cuadrícula no están espaciadas uniformemente:

¿Cómo haría para lograr esto en Matplotlib?


Básicamente, solo necesitas poner el parámetro which="both" en el comando de cuadrícula para que se convierta en:

matplotlib.pyplot.grid(True, which="both")

Otras opciones para las cuales son ''menor'' y ''mayor'' que son las marcas principales (que se muestran en su gráfica) y las marcas menores que falta. Si desea líneas continuas, puede usar ls="-" como parámetro para grid() también.

Aquí hay un ejemplo de patadas:

import numpy as np from matplotlib import pyplot as plt x = np.arange(0,100,.5) y = 2*x**3 plt.loglog(x,y) plt.grid(True,which="both",ls="-") plt.show()

que genera:


Como dice @Bryce, en mi máquina el kwarg correcto es majorminor . Creo que las líneas continuas con un color más claro pueden ser mejores que las líneas de puntos.

plt.grid(True,which="majorminor",ls="-", color=''0.65'')

funciona para mi.