Introducción
En este laboratorio, aprenderá a personalizar las espinas en Matplotlib. Las espinas son las líneas que conectan las marcas de los ejes y demarcan los límites del área de datos. Por defecto, Matplotlib muestra espinas en los cuatro lados de la gráfica. Sin embargo, es posible que desee personalizar estas espinas para resaltar mejor sus datos.
Consejos sobre la VM
Una vez finalizada la inicialización de la VM, haga clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tenga que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de las operaciones no se puede automatizar debido a las limitaciones de Jupyter Notebook.
Si tiene problemas durante el aprendizaje, no dude en preguntar a Labby. Deje sus comentarios después de la sesión y lo resolveremos rápidamente para usted.
Importar Matplotlib y NumPy
Primero, debemos importar las bibliotecas Matplotlib y NumPy para crear nuestra gráfica. Usaremos NumPy para crear datos de muestra para nuestra gráfica.
import matplotlib.pyplot as plt
import numpy as np
Crear datos de muestra
A continuación, crearemos datos de muestra para nuestra gráfica utilizando NumPy. Generaremos 100 puntos de datos entre 0 y 2π y calcularemos sus valores correspondientes de seno.
x = np.linspace(0, 2 * np.pi, 100)
y = 2 * np.sin(x)
Crear subgráficos
Crearemos tres subgráficos para demostrar diferentes personalizaciones de las espinas. Usaremos el diseño restringido para asegurarnos de que las etiquetas no se solapen con los ejes.
fig, (ax0, ax1, ax2) = plt.subplots(nrows=3, layout='constrained')
Personalizar las espinas en los cuatro lados
En el primer subgráfico, mostraremos las espinas en los cuatro lados de la gráfica. Podemos acceder a las espinas de cada subgráfico utilizando el contenedor ax.spines. Luego podemos personalizar las espinas utilizando varios métodos.
ax0.plot(x, y)
ax0.set_title('Normal Spines')
Personalizar las espinas para los lados inferior y izquierdo
En el segundo subgráfico, mostraremos las espinas solo en los lados inferior e izquierdo de la gráfica. Podemos ocultar las espinas en los lados derecho y superior de la gráfica utilizando el método set_visible.
ax1.plot(x, y)
ax1.set_title('Bottom-Left Spines')
## Hide the right and top spines
ax1.spines.right.set_visible(False)
ax1.spines.top.set_visible(False)
Personalizar las espinas con límites limitados al rango de datos
En el tercer subgráfico, mostraremos las espinas con límites limitados al rango de datos. Podemos limitar la extensión de cada espina al rango de datos utilizando el método set_bounds.
ax2.plot(x, y)
ax2.set_title('Spines with Bounds Limited to Data Range')
## Only draw spines for the data range, not in the margins
ax2.spines.bottom.set_bounds(x.min(), x.max())
ax2.spines.left.set_bounds(y.min(), y.max())
## Hide the right and top spines
ax2.spines.right.set_visible(False)
ax2.spines.top.set_visible(False)
Mostrar la gráfica
Finalmente, mostraremos la gráfica utilizando el método show.
plt.show()
Resumen
En este laboratorio, aprendiste cómo personalizar las espinas en Matplotlib. Específicamente, aprendiste cómo mostrar las espinas en lados específicos de la gráfica, ocultar las espinas en lados específicos de la gráfica y limitar la extensión de cada espina al rango de datos. Al personalizar las espinas, puedes crear gráficas que resalten mejor tus datos y mejoren su legibilidad general.