Matplotlib Ellipse Collection

Beginner

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

Введение

Matplotlib - это мощная библиотека визуализации данных на Python. В этом практическом занятии мы будем изучать использование EllipseCollection для рисования коллекции эллипсов.

Советы по работе с ВМ

После запуска виртуальной машины кликните в левом верхнем углу, чтобы переключиться на вкладку Notebook и приступить к практике в Jupyter Notebook.

Иногда может потребоваться подождать несколько секунд, пока Jupyter Notebook полностью загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.

Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.

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

Начнем с импорта необходимых библиотек.

import matplotlib.pyplot as plt
import numpy as np

from matplotlib.collections import EllipseCollection

Создаем данные для эллипсов

Создаем данные для наших эллипсов в виде массивов координат x, координат y, ширины, высоты и угла.

x = np.arange(10)
y = np.arange(15)
X, Y = np.meshgrid(x, y)

XY = np.column_stack((X.ravel(), Y.ravel()))

ww = X / 10.0
hh = Y / 15.0
aa = X * 9

Создаем коллекцию эллипсов

Создаем EllipseCollection с помощью вышеуказанных данных и указываем, что единицы измерения - 'x', а смещения - XY.

fig, ax = plt.subplots()

ec = EllipseCollection(ww, hh, aa, units='x', offsets=XY,
                       offset_transform=ax.transData)

Задаем цвет эллипсов

Задаем цвет каждого эллипса в EllipseCollection в зависимости от суммы его координат x и y.

ec.set_array((X + Y).ravel())

Добавляем коллекцию на график

Добавляем EllipseCollection на график.

ax.add_collection(ec)
ax.autoscale_view()
ax.set_xlabel('X')
ax.set_ylabel('y')
cbar = plt.colorbar(ec)
cbar.set_label('X+Y')
plt.show()

Резюме

В этом практическом занятии мы узнали, как использовать EllipseCollection для рисования коллекции эллипсов в Matplotlib. Мы также узнали, как задавать цвет каждого эллипса в зависимости от его координат x и y.