Introdução
Este laboratório demonstra como usar o Python Matplotlib para desenhar elipses. O laboratório cobre dois exemplos:
- Desenho de elipses individuais
- Desenho de elipses com diferentes ângulos
Você pode abrir o arquivo
ellipse-demo.ipynbno WebIDE para iniciar os exercícios. Aprenda como usar Jupyter Notebooks no VS Code.
O Labby não pode verificar automaticamente as respostas porque não consegue acessar o notebook.
Importando as Bibliotecas Necessárias
Primeiramente, precisamos importar as bibliotecas necessárias. Usaremos numpy para gerar dados aleatórios e matplotlib.pyplot e matplotlib.patches para desenhar as elipses.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Ellipse
Desenhando Elipses Individuais
Neste exemplo, desenharemos várias elipses com tamanhos, posições e cores aleatórias. Cada elipse será uma instância da classe Ellipse.
## Fixing random state for reproducibility
np.random.seed(19680801)
## Number of ellipses to draw
NUM = 250
## Generate the ellipses
ells = [Ellipse(xy=np.random.rand(2) * 10,
width=np.random.rand(), height=np.random.rand(),
angle=np.random.rand() * 360)
for i in range(NUM)]
## Create the plot and set the aspect ratio to 'equal'
fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'})
## Add each ellipse to the plot
for e in ells:
ax.add_artist(e)
e.set_clip_box(ax.bbox)
e.set_alpha(np.random.rand())
e.set_facecolor(np.random.rand(3))
## Set the x and y limits of the plot
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)
## Show the plot
plt.show()
Desenhando Elipses com Ângulos Diferentes
Neste exemplo, desenharemos várias elipses com ângulos diferentes. Usaremos um loop para criar uma instância Ellipse para cada ângulo que desejamos desenhar.
## Define the angle step and the range of angles to draw
angle_step = 45 ## degrees
angles = np.arange(0, 180, angle_step)
## Create the plot and set the aspect ratio to 'equal'
fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'})
## Loop over the angles and draw an ellipse for each angle
for angle in angles:
ellipse = Ellipse((0, 0), 4, 2, angle=angle, alpha=0.1)
ax.add_artist(ellipse)
## Set the x and y limits of the plot
ax.set_xlim(-2.2, 2.2)
ax.set_ylim(-2.2, 2.2)
## Show the plot
plt.show()
Resumo
Neste laboratório, aprendemos a usar Python Matplotlib para desenhar elipses. Cobrimos dois exemplos: desenhar elipses individuais e desenhar elipses com ângulos diferentes. Seguindo os passos deste laboratório, você deverá ser capaz de desenhar elipses em seus próprios projetos Python usando Matplotlib.