Anotar gráficos de Matplotlib con sistemas de coordenadas

PythonPythonBeginner
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

Matplotlib es una herramienta de visualización poderosa que permite a los usuarios crear una amplia variedad de gráficos y diagramas. Las anotaciones son una característica importante de Matplotlib que permite a los usuarios agregar texto y flechas a sus gráficos. En este tutorial, aprenderemos cómo usar diferentes sistemas de coordenadas para las anotaciones.

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

El primer paso es importar las bibliotecas necesarias. Usaremos la biblioteca matplotlib.pyplot para crear nuestro gráfico y anotaciones.

import matplotlib.pyplot as plt
import numpy as np

Crear datos

A continuación, crearemos algunos datos para graficar. Usaremos la biblioteca numpy para crear una onda sinusoidal.

x = np.arange(0, 10, 0.005)
y = np.exp(-x/2.) * np.sin(2*np.pi*x)

Crear el gráfico

Ahora, crearemos el gráfico usando la biblioteca matplotlib.pyplot. Estableceremos los límites de los ejes x e y y luego graficaremos los datos.

fig, ax = plt.subplots()
ax.plot(x, y)
ax.set_xlim(0, 10)
ax.set_ylim(-1, 1)

Transformar coordenadas

El siguiente paso es transformar las coordenadas de los datos y la visualización. Usaremos el método ax.transData para transformar las coordenadas de los datos y el sistema de coordenadas píxeles de la figura para transformar las coordenadas de visualización.

xdata, ydata = 5, 0
xdisplay, ydisplay = ax.transData.transform((xdata, ydata))

Agregar anotaciones

El último paso es agregar anotaciones al gráfico. Usaremos el método ax.annotate para agregar texto y flechas al gráfico. También usaremos los parámetros bbox y arrowprops para dar estilo a las anotaciones.

bbox = dict(boxstyle="round", fc="0.8")
arrowprops = dict(
    arrowstyle="->",
    connectionstyle="angle,angleA=0,angleB=90,rad=10")

offset = 72
ax.annotate(
    f'data = ({xdata:.1f}, {ydata:.1f})',
    (xdata, ydata),
    xytext=(-2*offset, offset), textcoords='offset points',
    bbox=bbox, arrowprops=arrowprops)
ax.annotate(
    f'display = ({xdisplay:.1f}, {ydisplay:.1f})',
    xy=(xdisplay, ydisplay), xycoords='figure pixels',
    xytext=(0.5*offset, -offset), textcoords='offset points',
    bbox=bbox, arrowprops=arrowprops)

Mostrar el gráfico

El último paso es mostrar el gráfico usando el método plt.show().

plt.show()

Resumen

En este tutorial, aprendimos cómo usar diferentes sistemas de coordenadas para las anotaciones en Matplotlib. Creamos un gráfico, transformamos las coordenadas de los datos y la visualización y agregamos anotaciones al gráfico usando el método ax.annotate. Las anotaciones son una característica importante de Matplotlib que permite a los usuarios agregar contexto e información a sus gráficos.