Gráficos de Matplotlib con Anotaciones en Python

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

Este tutorial te guiará a través del proceso de creación de un gráfico con anotaciones utilizando Matplotlib en Python. Aprenderás cómo conectar dos puntos con una flecha, agregar una elipse al gráfico y personalizar el estilo de la flecha y las propiedades de la elipse.

Consejos sobre la VM

Una vez que se haya iniciado 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 el problema para ti de inmediato.

Configurar el gráfico

Primero, debemos configurar el gráfico con dos subgráficos. Utilizaremos la función subplots para crear una cuadrícula de subgráficos de 2x2, y luego definiremos las coordenadas x e y de dos puntos.

import matplotlib.pyplot as plt
import matplotlib.patches as mpatches

fig, axs = plt.subplots(2, 2)
x1, y1 = 0.3, 0.3
x2, y2 = 0.7, 0.7

Conectar dos puntos con una flecha

En este paso, conectaremos los dos puntos con una flecha. Utilizaremos la función annotate para crear la flecha y personalizaremos el estilo y el color de la flecha.

ax = axs.flat[0]
ax.plot([x1, x2], [y1, y2], ".")
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="-",
                            color="0.5",
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

Agregar una elipse al gráfico

En este paso, agregaremos una elipse al gráfico. Utilizaremos la función Ellipse para crear la elipse y personalizaremos las propiedades de la elipse, como la posición, el ancho, el alto y el ángulo.

ax = axs.flat[1]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)

Personalizar la flecha para conectarla a la elipse

En este paso, personalizaremos la flecha para que se conecte a la elipse. Utilizaremos el parámetro arrowprops para especificar que la flecha debe conectarse a la elipse, y también personalizaremos el estilo y el color de la flecha.

ax = axs.flat[2]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="-",
                            color="0.5",
                            patchB=el,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

Personalizar la flecha para que se contraiga hacia la elipse

En este paso, personalizaremos la flecha para que se contraiga hacia la elipse. Utilizaremos el parámetro shrinkB para especificar la cantidad por la que la flecha debe contraerse hacia la elipse.

ax = axs.flat[3]
ax.plot([x1, x2], [y1, y2], ".")
el = mpatches.Ellipse((x1, y1), 0.3, 0.4, angle=30, alpha=0.2)
ax.add_artist(el)
ax.annotate("",
            xy=(x1, y1), xycoords='data',
            xytext=(x2, y2), textcoords='data',
            arrowprops=dict(arrowstyle="fancy",
                            color="0.5",
                            patchB=el,
                            shrinkB=5,
                            connectionstyle="arc3,rad=0.3",
                            ),
            )

Resumen

En este tutorial, aprendiste cómo crear un gráfico con anotaciones utilizando Matplotlib en Python. Aprendiste cómo conectar dos puntos con una flecha, agregar una elipse al gráfico y personalizar el estilo de la flecha y las propiedades de la elipse. Estas habilidades serán útiles para crear gráficos informativos y visualmente atractivos para la visualización de datos.