Introdução
Este tutorial foi projetado para guiar os usuários sobre como criar círculos, cunhas (wedges) e polígonos usando Python Matplotlib. Os usuários também poderão usar .collections.PatchCollection para visualizar as formas criadas.
Dicas para a VM
Após a inicialização da VM, clique no canto superior esquerdo para mudar para a aba Notebook e acessar o Jupyter Notebook para praticar.
Às vezes, pode ser necessário aguardar alguns segundos para que o Jupyter Notebook termine de carregar. A validação das operações não pode ser automatizada devido às limitações do Jupyter Notebook.
Se você enfrentar problemas durante o aprendizado, sinta-se à vontade para perguntar ao Labby. Forneça feedback após a sessão, e resolveremos o problema prontamente para você.
Importar as bibliotecas necessárias
Primeiramente, precisamos importar as bibliotecas necessárias.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.collections import PatchCollection
from matplotlib.patches import Circle, Polygon, Wedge
Criar uma figura e um eixo
Criamos uma figura e um eixo para plotar as formas.
fig, ax = plt.subplots()
Definir o número de vértices e o número de formas
Definimos o número de vértices e o número de formas a serem criadas.
resolution = 50 ## the number of vertices
N = 3
Criar círculos
Criamos círculos usando Circle() e os adicionamos a uma lista de patches.
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)
Criar setores (wedges)
Criamos setores (wedges) usando Wedge() e os adicionamos à lista de patches.
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)
Adicionar condições limitantes aos setores (wedges)
Adicionamos condições limitantes aos setores (wedges).
patches += [
Wedge((.3, .7), .1, 0, 360), ## Full circle
Wedge((.7, .8), .2, 0, 360, width=0.05), ## Full ring
Wedge((.8, .3), .2, 0, 45), ## Full sector
Wedge((.8, .3), .2, 45, 90, width=0.10), ## Ring sector
]
Criar polígonos
Criamos polígonos usando Polygon() e os adicionamos à lista de patches.
for i in range(N):
polygon = Polygon(np.random.rand(N, 2), closed=True)
patches.append(polygon)
Definir cores e criar PatchCollection
Definimos as cores das formas e criamos um 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)
Exibir o gráfico
Exibimos o gráfico.
plt.show()
Resumo
Este tutorial demonstrou como criar círculos, cunhas (wedges) e polígonos usando Python Matplotlib. Também aprendemos como usar .collections.PatchCollection para visualizar as formas criadas.