Введение
Этот туториал предназначен для того, чтобы показать пользователям, как создавать круги, секторы и многоугольники с использованием Python Matplotlib. Пользователи также смогут использовать .collections.PatchCollection для визуализации созданных фигур.
Советы по работе с ВМ
После запуска ВМ нажмите в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем необходимые библиотеки
Во - первых, нам нужно импортировать необходимые библиотеки.
import matplotlib.pyplot as plt
import numpy as np
from matplotlib.collections import PatchCollection
from matplotlib.patches import Circle, Polygon, Wedge
Создаем фигуру и ось
Мы создаем фигуру и ось для построения фигур.
fig, ax = plt.subplots()
Определяем количество вершин и количество фигур
Мы определяем количество вершин и количество создаваемых фигур.
resolution = 50 ## the number of vertices
N = 3
Создаем круги
Мы создаем круги с использованием Circle() и добавляем их в список патчей.
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)
Создаем секторы
Мы создаем секторы с использованием Wedge() и добавляем их в список патчей.
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)
Добавляем ограничительные условия для секторов
Мы добавляем ограничительные условия для секторов.
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
]
Создаем полигоны
Мы создаем полигоны с использованием Polygon() и добавляем их в список патчей.
for i in range(N):
polygon = Polygon(np.random.rand(N, 2), closed=True)
patches.append(polygon)
Задаем цвета и создаем PatchCollection
Мы задаем цвета фигур и создаем 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)
Отображаем график
Мы отображаем график.
plt.show()
Резюме
В этом руководстве показано, как создавать круги, секторы и полигоны с использованием Python Matplotlib. Мы также узнали, как использовать .collections.PatchCollection для визуализации созданных фигур.