Введение
В этом практическом занятии показано, как взаимодействовать с полотном для построения графиков, подключаясь к событиям перемещения и щелчка с помощью библиотеки Matplotlib в Python. Matplotlib - это библиотека для визуализации данных, которая позволяет пользователям создавать статические, анимированные и интерактивные визуализации на Python.
Советы по работе с ВМ
После запуска ВМ щелкните в верхнем левом углу, чтобы переключиться на вкладку Notebook и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами при обучении, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Создание графика синусоидальной волны
Во - первых, нам нужно создать график синусоидальной волны с использованием библиотек numpy и matplotlib.
import matplotlib.pyplot as plt
import numpy as np
t = np.arange(0.0, 1.0, 0.01)
s = np.sin(2 * np.pi * t)
fig, ax = plt.subplots()
ax.plot(t, s)
Событие перемещения мыши
Мы можем подключаться к событиям перемещения мыши с использованием метода motion_notify_event. В этом примере мы выводим координаты x и y данных и координаты x и y пикселей, когда мышь движется по графику.
def on_move(event):
if event.inaxes:
print(f'data coords {event.xdata} {event.ydata},',
f'pixel coords {event.x} {event.y}')
binding_id = plt.connect('motion_notify_event', on_move)
Событие нажатия кнопки мыши
Мы можем подключаться к событиям нажатия кнопки мыши с использованием метода button_press_event. В этом примере мы отключаем обратный вызов для события перемещения мыши, когда нажимается левая кнопка мыши.
from matplotlib.backend_bases import MouseButton
def on_click(event):
if event.button is MouseButton.LEFT:
print('disconnecting callback')
plt.disconnect(binding_id)
plt.connect('button_press_event', on_click)
Отображение графика
Наконец, нам нужно отобразить график с использованием метода show.
plt.show()
Резюме
В этом практическом занятии показано, как взаимодействовать с графиком Matplotlib с использованием событий перемещения и нажатия кнопки мыши. Подключаясь к этим событиям, мы можем выполнять различные действия, такие как вывод координат указателя мыши, отключение обратных вызовов и т.д. Эта техника может быть полезна для создания интерактивных визуализаций на Python.