Creando Figuras con Python 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

Este tutorial está diseñado para guiar a los usuarios sobre cómo crear círculos, segmentos de círculo y polígonos utilizando Python Matplotlib. Los usuarios también podrán utilizar .collections.PatchCollection para visualizar las formas creadas.

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.

import matplotlib.pyplot as plt
import numpy as np

from matplotlib.collections import PatchCollection
from matplotlib.patches import Circle, Polygon, Wedge

Crear una figura y un eje

Creamos una figura y un eje para trazar las formas.

fig, ax = plt.subplots()

Definir el número de vértices y el número de formas

Definimos el número de vértices y el número de formas que se van a crear.

resolution = 50  ## el número de vértices
N = 3

Crear círculos

Creamos círculos utilizando Circle() y los agregamos a una lista de parches.

x = np.random.rand(N)
y = np.random.rand(N)
radii = 0.1*np.random.rand(N)
patches = []
for x1, y1, r in zip(x, y, radii):
    circle = Circle((x1, y1), r)
    patches.append(circle)

Crear segmentos circulares

Creamos segmentos circulares utilizando Wedge() y los agregamos a la lista de parches.

x = np.random.rand(N)
y = np.random.rand(N)
radii = 0.1*np.random.rand(N)
theta1 = 360.0*np.random.rand(N)
theta2 = 360.0*np.random.rand(N)
for x1, y1, r, t1, t2 in zip(x, y, radii, theta1, theta2):
    wedge = Wedge((x1, y1), r, t1, t2)
    patches.append(wedge)

Agregar condiciones de límite a los segmentos circulares

Agregamos condiciones de límite a los segmentos circulares.

patches += [
    Wedge((.3,.7),.1, 0, 360),             ## Círculo completo
    Wedge((.7,.8),.2, 0, 360, width=0.05),  ## Anillo completo
    Wedge((.8,.3),.2, 0, 45),              ## Sector completo
    Wedge((.8,.3),.2, 45, 90, width=0.10),  ## Sector de anillo
]

Crear polígonos

Creamos polígonos utilizando Polygon() y los agregamos a la lista de parches.

for i in range(N):
    polygon = Polygon(np.random.rand(N, 2), closed=True)
    patches.append(polygon)

Establecer colores y crear PatchCollection

Establecemos los colores de las formas y creamos una PatchCollection().

colors = 100 * np.random.rand(len(patches))
p = PatchCollection(patches, alpha=0.4)
p.set_array(colors)
ax.add_collection(p)
fig.colorbar(p, ax=ax)

Mostrar la gráfica

Mostramos la gráfica.

plt.show()

Resumen

Este tutorial ha demostrado cómo crear círculos, segmentos circulares y polígonos utilizando Python Matplotlib. También hemos aprendido cómo utilizar .collections.PatchCollection para visualizar las formas creadas.