Componiendo leyendas personalizadas

MatplotlibMatplotlibBeginner
Practicar Ahora

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

💡 Este tutorial está traducido por IA desde la versión en inglés. Para ver la versión original, puedes hacer clic aquí

Introducción

La biblioteca Matplotlib de Python ofrece una forma flexible de crear y personalizar leyendas en una trama. Las leyendas son un componente esencial de cualquier trama, ya que proporcionan una explicación clara y concisa de los datos representados en la trama. Esta práctica te guiará a través del proceso de componer leyendas personalizadas utilizando objetos Matplotlib.

Consejos sobre la VM

Una vez finalizada la inicialización de la VM, haz 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 tengas 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 tienes problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.

Trazado de líneas

En este paso, trazaremos un conjunto de líneas utilizando la biblioteca Matplotlib. Primero, creamos algunos datos aleatorios utilizando NumPy. A continuación, establecemos el ciclo de colores utilizando la función cycler para especificar la paleta de colores. Finalmente, trazamos los datos utilizando la función plot y llamamos a legend() para generar la leyenda.

import matplotlib.pyplot as plt
import numpy as np

## Establece el estado aleatorio para la reproducibilidad
np.random.seed(19680801)

## Crea datos aleatorios
N = 10
data = (np.geomspace(1, 10, 100) + np.random.randn(N, 100)).T

## Establece el ciclo de colores
cmap = plt.cm.coolwarm
plt.rcParams['axes.prop_cycle'] = cycler(color=cmap(np.linspace(0, 1, N)))

## Traza los datos y genera la leyenda
fig, ax = plt.subplots()
lines = ax.plot(data)
ax.legend()

Componiendo una leyenda personalizada

En este paso, crearemos una leyenda personalizada utilizando objetos de Matplotlib. Primero, importamos la clase Line2D del módulo matplotlib.lines. A continuación, creamos una lista de objetos Line2D con atributos personalizados de color, ancho y etiqueta. Finalmente, trazamos los datos nuevamente utilizando la función plot y llamamos a legend() con las líneas personalizadas y las etiquetas correspondientes.

## Importa la clase Line2D
from matplotlib.lines import Line2D

## Crea líneas personalizadas
custom_lines = [Line2D([0], [0], color=cmap(0.), lw=4),
                Line2D([0], [0], color=cmap(.5), lw=4),
                Line2D([0], [0], color=cmap(1.), lw=4)]

## Traza los datos y genera la leyenda personalizada
fig, ax = plt.subplots()
lines = ax.plot(data)
ax.legend(custom_lines, ['Cold', 'Medium', 'Hot'])

Componiendo una leyenda personalizada con diferentes objetos de Matplotlib

En este paso, crearemos una leyenda personalizada utilizando diferentes objetos de Matplotlib, incluyendo Line2D y Patch. Primero, importamos la clase Patch del módulo matplotlib.patches. A continuación, creamos una lista de objetos Line2D y Patch con atributos personalizados. Finalmente, llamamos a legend() con los objetos personalizados y las etiquetas correspondientes.

## Importa las clases Line2D y Patch
from matplotlib.lines import Line2D
from matplotlib.patches import Patch

## Crea los elementos de la leyenda
legend_elements = [Line2D([0], [0], color='b', lw=4, label='Linea'),
                   Line2D([0], [0], marker='o', color='w', label='Dispersión',
                          markerfacecolor='g', markersize=15),
                   Patch(facecolor='naranja', edgecolor='r',
                         label='Parche de color')]

## Traza los datos y genera la leyenda personalizada
fig, ax = plt.subplots()
ax.legend(handles=legend_elements, loc='center')

Resumen

En esta práctica, aprendimos cómo crear leyendas personalizadas utilizando objetos de Matplotlib. Comenzamos trazando un conjunto de líneas y generando una leyenda predeterminada. A continuación, componimos una leyenda personalizada utilizando objetos Line2D con atributos personalizados. Finalmente, creamos una leyenda personalizada utilizando diferentes objetos de Matplotlib, incluyendo Line2D y Patch. Al utilizar leyendas personalizadas, podemos proporcionar una explicación clara y concisa de los datos representados en una trama.