Creando un polígono en Matplotlib

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 biblioteca de Python utilizada para la visualización de datos. En este laboratorio, usaremos Matplotlib para crear un polígono de manera programática o interactiva. El polígono se puede utilizar para resaltar una región de interés o para ocultar una cierta área de una gráfica.

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 su retroalimentación después de la sesión y resolveremos rápidamente el problema para usted.

Importar las bibliotecas necesarias

Antes de comenzar a trabajar con Matplotlib, necesitamos importar las bibliotecas necesarias. En este laboratorio, usaremos matplotlib.pyplot y matplotlib.widgets.

import matplotlib.pyplot as plt
from matplotlib.widgets import PolygonSelector

Crear un polígono de manera programática

Para crear un polígono de manera programática, necesitamos crear un objeto Figure y un objeto Axes. Luego, podemos crear un objeto PolygonSelector y agregar vértices a él. Finalmente, podemos trazar el polígono en el Axes.

fig, ax = plt.subplots()
selector = PolygonSelector(ax, lambda *args: None)

## Agregar tres vértices
selector.verts = [(0.1, 0.4), (0.5, 0.9), (0.3, 0.2)]

## Trazar el polígono
ax.add_patch(plt.Polygon(selector.verts, alpha=0.3))
plt.show()

Crear un polígono de manera interactiva

Para crear un polígono de manera interactiva, necesitamos crear un objeto Figure y un objeto Axes. Luego, podemos crear un objeto PolygonSelector y agregar vértices a él haciendo clic en la gráfica. También podemos usar las teclas shift y ctrl para mover los vértices.

fig, ax = plt.subplots()
selector = PolygonSelector(ax, lambda *args: None)

print("Haga clic en la figura para crear un polígono.")
print("Presione la tecla 'esc' para comenzar un nuevo polígono.")
print("Intente mantener presionada la tecla 'shift' para mover todos los vértices.")
print("Intente mantener presionada la tecla 'ctrl' para mover un solo vértice.")

plt.show()

Combinando todo

Vamos a crear un ejemplo completo que incluya tanto la creación de un polígono de manera programática como interactiva.

import matplotlib.pyplot as plt
from matplotlib.widgets import PolygonSelector

## Crear una figura y ejes
fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=(10, 5))

## Crear un objeto PolygonSelector y agregar vértices
selector1 = PolygonSelector(ax1, lambda *args: None)
selector1.verts = [(0.1, 0.4), (0.5, 0.9), (0.3, 0.2)]

## Trazar el polígono
ax1.add_patch(plt.Polygon(selector1.verts, alpha=0.3))

## Crear otro objeto PolygonSelector para la creación interactiva
selector2 = PolygonSelector(ax2, lambda *args: None)

print("Haga clic en la figura para crear un polígono.")
print("Presione la tecla 'esc' para comenzar un nuevo polígono.")
print("Intente mantener presionada la tecla 'shift' para mover todos los vértices.")
print("Intente mantener presionada la tecla 'ctrl' para mover un solo vértice.")

plt.show()

Resumen

En este laboratorio, aprendimos cómo crear un polígono de manera programática e interactiva utilizando Matplotlib. También aprendimos cómo agregar vértices a un objeto PolygonSelector y trazar el polígono resultante en un Axes. Este conocimiento puede ser útil para resaltar regiones de interés o para ocultar ciertas áreas en una gráfica.