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.