Creando leyendas de Matplotlib para la visualización de datos

Beginner

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

Introducción

En la visualización de datos, las leyendas ayudan al espectador a entender lo que está viendo. Las leyendas en Matplotlib son etiquetas que describen los elementos de un gráfico. Este tutorial mostrará cómo crear leyendas para una figura de Matplotlib.

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 las bibliotecas necesarias

En primer lugar, necesitamos importar las bibliotecas necesarias: NumPy y Matplotlib. NumPy es una biblioteca de Python que se utiliza para trabajar con matrices, mientras que Matplotlib es una biblioteca de visualización de datos.

import matplotlib.pyplot as plt
import numpy as np

Creando un gráfico básico

Para crear un gráfico básico, necesitamos definir los valores de x e y y luego representarlos utilizando plt.plot(). Aquí, representaremos dos ondas senoidales.

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.sin(4 * np.pi * x)

plt.plot(x, y1, label='sin(2pix)')
plt.plot(x, y2, label='sin(4pix)')

Agregando una leyenda

Para agregar una leyenda al gráfico, utilizamos la función plt.legend(). Podemos pasar las etiquetas de cada línea como una lista de cadenas al parámetro labels de la función.

plt.legend(labels=['sin(2pix)', 'sin(4pix)'])

Personalizando la leyenda

Podemos personalizar la leyenda cambiando su posición, tamaño de fuente y otros parámetros. Para cambiar la posición de la leyenda, utilizamos el parámetro loc. También podemos cambiar el tamaño de fuente utilizando el parámetro fontsize.

plt.legend(labels=['sin(2pix)', 'sin(4pix)'], loc='lower right', fontsize='large')

Creando una leyenda para subgráficos

Al crear subgráficos, podemos crear una leyenda para todos los subgráficos utilizando la función fig.legend(). Aquí, crearemos dos subgráficos y graficaremos dos líneas en cada subgráfico.

fig, axs = plt.subplots(1, 2)

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')

y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')

fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='upper right')

Colocando la leyenda fuera de los ejes

A veces, puede que queramos que la leyenda quede fuera de los ejes. Podemos utilizar el parámetro loc para especificar la ubicación de la leyenda fuera de los ejes.

fig, axs = plt.subplots(1, 2, layout='constrained')

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')

y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')

fig.legend((l1, l2), ('Line 1', 'Line 2'), loc='upper left')
fig.legend((l3, l4), ('Line 3', 'Line 4'), loc='outside right upper')

Resumen

En este tutorial, hemos aprendido cómo crear leyendas para las figuras de Matplotlib. Hemos visto cómo crear un gráfico básico, agregar una leyenda, personalizar la leyenda, crear una leyenda para subgráficos y colocar la leyenda fuera de los ejes. Las leyendas son un aspecto importante de la visualización de datos, y saber cómo crearlas es una habilidad esencial para cualquier científico de datos o analista.