Введение
В этом практическом занятии мы научимся изменять цвета линий, пересекающих прямоугольник, с использованием функции .intersects_bbox из Matplotlib. Мы создадим прямоугольник и сгенерируем случайные линии, которые его пересекают. Затем мы изменим цвет пересекающихся линий на красный, а оставшиеся линии на синий.
Советы по работе с ВМ
После запуска виртуальной машины кликните в левом верхнем углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем необходимые библиотеки
Мы импортируем библиотеки matplotlib.pyplot и numpy, чтобы создать прямоугольник и сгенерировать случайные линии.
import matplotlib.pyplot as plt
import numpy as np
Настраиваем прямоугольник
Мы определим позицию и размеры прямоугольника с использованием переменных left, bottom, width и height. Затем мы создадим прямоугольник с использованием класса Rectangle и добавим его на график с использованием метода add_patch.
left, bottom, width, height = (-1, -1, 2, 2)
rect = plt.Rectangle((left, bottom), width, height,
facecolor="black", alpha=0.1)
fig, ax = plt.subplots()
ax.add_patch(rect)
Генерируем случайные линии
Мы сгенерируем 12 случайных линий с использованием библиотеки numpy и построим их с использованием метода plot. Если линия пересекает прямоугольник, ее цвет будет красным, в противном случае - синим. Мы будем использовать класс Path для создания линии и метод intersects_bbox для проверки, пересекает ли она прямоугольник.
bbox = Bbox.from_bounds(left, bottom, width, height)
for i in range(12):
vertices = (np.random.random((2, 2)) - 0.5) * 6.0
path = Path(vertices)
if path.intersects_bbox(bbox):
color = 'r'
else:
color = 'b'
ax.plot(vertices[:, 0], vertices[:, 1], color=color)
Отображаем график
Мы отобразим график с использованием метода show.
plt.show()
Резюме
В этом практическом занятии мы узнали, как изменить цвета линий, пересекающих прямоугольник, с использованием функции .intersects_bbox из Matplotlib. Мы создали прямоугольник и сгенерировали случайные линии, которые его пересекали. Затем мы изменили цвет пересекающих линий на красный, а оставшиеся линии на синий.