Personalizar las espinas de Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

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.