Введение
В этом практическом занятии мы научимся подключаться к событиям нажатия клавиш в Matplotlib, что позволит нам выполнять определенные действия при нажатии клавиши. Мы создадим график и настроим слушателя событий нажатия клавиш, который будет переключать видимость оси x при нажатии клавиши 'x'.
Советы по работе с ВМ
После запуска ВМ кликните в верхнем левом углу, чтобы переключиться на вкладку Ноутбук и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook загрузится. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы сталкиваетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Импортируем библиотеки
Начнем с импорта необходимых библиотек: matplotlib.pyplot и numpy.
import matplotlib.pyplot as plt
import numpy as np
Определяем функцию для события нажатия клавиши
Далее определим функцию on_press, которая будет вызываться при нажатии клавиши. Эта функция принимает параметр event, содержащий информацию о нажатой клавише. В этом примере мы переключим видимость оси x при нажатии клавиши 'x'.
def on_press(event):
print('press', event.key)
sys.stdout.flush()
if event.key == 'x':
visible = xl.get_visible()
xl.set_visible(not visible)
fig.canvas.draw()
Создаем график и подключаем слушателя событий нажатия клавиши
Создадим простой график с использованием np.random.rand() для генерации случайных данных. Затем настроим слушателя событий нажатия клавиши с использованием fig.canvas.mpl_connect(), передав имя события, на которое мы хотим слушать ('key_press_event'), и функцию, которую мы хотим вызвать при наступлении события (on_press).
fig, ax = plt.subplots()
fig.canvas.mpl_connect('key_press_event', on_press)
ax.plot(np.random.rand(12), np.random.rand(12), 'go')
xl = ax.set_xlabel('easy come, easy go')
ax.set_title('Press a key')
plt.show()
Запустите код
Сохраните код в файл и запустите его в среде Python. Будет показан график с подписью оси x "easy come, easy go". При нажатии клавиши 'x' подпись оси x будет переключаться между видимым и невидимым состоянием.
Резюме
В этом практическом занятии мы узнали, как подключаться к событиям нажатия клавиш в Matplotlib. Мы создали график и настроили слушателя событий нажатия клавиш, который переключает видимость подписи оси x при нажатии клавиши 'x'. Это всего лишь один пример того, что можно сделать с событиями нажатия клавиш в Matplotlib.