Рисование эллипсов с использованием Python Matplotlib

PythonPythonBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии показано, как использовать библиотеку Python Matplotlib для рисования эллипсов. В рамках практического занятия рассматриваются два примера:

  • Рисование отдельных эллипсов
  • Рисование эллипсов с разными углами

    Вы можете открыть файл ellipse-demo.ipynb в WebIDE, чтобы начать выполнение упражнений. Узнать, как использовать Jupyter Notebooks в VS Code.
    Пример рисования эллипсов с помощью Matplotlib
    Labby не может автоматически проверить ответы, так как не имеет доступа к ноутбуку.

Импорт необходимых библиотек

Сначала нам нужно импортировать необходимые библиотеки. Мы будем использовать numpy для генерации случайных данных, а matplotlib.pyplot и matplotlib.patches для рисования эллипсов.

import matplotlib.pyplot as plt
import numpy as np
from matplotlib.patches import Ellipse

Рисование отдельных эллипсов

В этом примере мы нарисуем множество эллипсов со случайными размерами, положениями и цветами. Каждый эллипс будет экземпляром класса Ellipse.

## Фиксация случайного состояния для воспроизводимости
np.random.seed(19680801)

## Количество эллипсов для рисования
NUM = 250

## Генерация эллипсов
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)]

## Создание графика и установка соотношения сторон как 'equal'
fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'})

## Добавление каждого эллипса на график
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))

## Установка пределов по осям x и y графика
ax.set_xlim(0, 10)
ax.set_ylim(0, 10)

## Отображение графика
plt.show()

Рисование эллипсов с разными углами

В этом примере мы нарисуем множество эллипсов с разными углами. Мы будем использовать цикл для создания экземпляра Ellipse для каждого угла, который мы хотим нарисовать.

## Определение шага угла и диапазона углов для рисования
angle_step = 45  ## градусы
angles = np.arange(0, 180, angle_step)

## Создание графика и установка соотношения сторон как 'equal'
fig, ax = plt.subplots(subplot_kw={'aspect': 'equal'})

## Цикл по углам и рисование эллипса для каждого угла
for angle in angles:
    ellipse = Ellipse((0, 0), 4, 2, angle=angle, alpha=0.1)
    ax.add_artist(ellipse)

## Установка пределов по осям x и y графика
ax.set_xlim(-2.2, 2.2)
ax.set_ylim(-2.2, 2.2)

## Отображение графика
plt.show()

Итог

В этом практическом занятии мы научились использовать библиотеку Python Matplotlib для рисования эллипсов. Мы рассмотрели два примера: рисование отдельных эллипсов и рисование эллипсов с разными углами. Следуя шагам этого практического занятия, вы должны уметь рисовать эллипсы в своих собственных Python - проектах с использованием Matplotlib.