Desenhando Elipses com Python Matplotlib

Beginner

This tutorial is from open-source community. Access the source code

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.ipynb no WebIDE para iniciar os exercícios. Aprenda como usar Jupyter Notebooks no VS Code.
    Exemplo de desenho de elipse com Matplotlib
    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.