Cómo mostrar la cuadrícula Pyplot en Matplotlib

mo abdelazim 30 enero 2023
  1. Dibujar una gráfica normal en Matplotlib
  2. Usar grid() en una trama en Matplotlib
  3. Cambiar los atributos de la red en Matplotlib
  4. Dibujar líneas verticales u horizontales
Cómo mostrar la cuadrícula Pyplot en Matplotlib

Este tutorial explica cómo dibujar una cuadrícula en la parte superior de una trama en Python Matplotlib. Utilizaremos la función grid() para lograrlo. También demuestra cómo usar los argumentos de grid() function para personalizar el color y la forma de la cuadrícula e incluso dibujar sólo las líneas verticales u horizontales.

Dibujar una gráfica normal en Matplotlib

Comencemos creando dos listas para representar los valores de x e y y usarlos para dibujar un gráfico. Llama a la función plot() y pasa las listas x y y como argumentos, luego llama a la función show().

Usa las funciones title(), xlabel y ylabel() para añadir el título y las etiquetas a tu gráfica para hacerla comprensible.

from matplotlib import pyplot as plt

x = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110]
y = [200, 300, 300, 350, 380, 450, 500, 500, 520, 525, 530]

plt.title("MyPlot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")

plt.plot(x, y)
plt.show()

Resultado:

Gráfica normal sin cuadrícula en Matplotlib

Pero una trama normal parece aburrida y se pierde algo. Ahora, tenemos que añadir una cuadrícula a nuestra trama.

Usar grid() en una trama en Matplotlib

Usaremos la función Matplotlib grid() para dibujar una cuadrícula en la parte superior del gráfico.

Necesitamos llamar a la función grid() antes de show(), y eso dibujará una cuadrícula en el gráfico anterior.

Vea el código a continuación.

from matplotlib import pyplot as plt

x = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110]
y = [200, 300, 300, 350, 380, 450, 500, 500, 520, 525, 530]

plt.title("MyPlot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")

plt.plot(x, y)
plt.grid()
plt.show()

Resultado:

Rejilla simple en Matplotlib

Cambiar los atributos de la red en Matplotlib

La función grid() acepta argumentos para personalizar el color y el estilo de la grilla. Podemos llamar a grid() así grid(color='r', linestyle='dotted', linewidth=1) para obtener una cuadrícula con líneas rojas, punteadas y delgadas.

from matplotlib import pyplot as plt

x = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110]
y = [200, 300, 300, 350, 380, 450, 500, 500, 520, 525, 530]

plt.title("MyPlot")
plt.xlabel("X Axis")
plt.ylabel("Y Axis")

plt.plot(x, y)
plt.grid(color="r", linestyle="dotted", linewidth=1)
plt.show()

Resultado:

Atributos de la cuadrícula en Matplotlib

El ancho de línea es del tipo de datos de flotante, y aquí están todos los códigos de color y estilos de línea disponibles para usted.

Códigos de color válidos:

código color
b azul
g verde
r rojo
c cyan
m magenta
y amarillo
k negro
w blanco

Estilos de línea válidos:

  • -
  • --
  • -.
  • :
  • None
  • ``
  • solid
  • dashed
  • dashdot
  • dotted

Dibujar líneas verticales u horizontales

La función grid() por defecto es dibujar tanto el eje horizontal como el vertical, pero puede que quieras personalizar esto también. Puedes usar el argumento axis para hacer esto. Llama a grid() con axis='x' para dibujar sólo las líneas verticales o axis='y' para dibujar sólo las líneas horizontales o axis='both' para dibujar ambas, que es el comportamiento por defecto.

Mira el código de abajo y su salida.

from matplotlib import pyplot as plt

x = [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110]
y = [200, 300, 300, 350, 380, 450, 500, 500, 520, 525, 530]

_, (a, b, c) = plt.subplots(1, 3)

a.grid(axis="y", linestyle="dotted", color="b")
a.plot(x, y)
a.set_title("axis='y'")

b.grid(axis="x", linestyle="dotted", color="b")
b.plot(x, y)
b.set_title("axis='x'")

c.grid(axis="both", linestyle="dotted", color="b")
c.plot(x, y)
c.set_title("axis='both'")

plt.show()

Resultado:

Eje X-Eje Y-Rejilla en Matplotlib