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.