Подключение к событиям нажатия клавиш

MatplotlibMatplotlibBeginner
Практиковаться сейчас

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

💡 Этот учебник переведен с английского с помощью ИИ. Чтобы просмотреть оригинал, вы можете перейти на английский оригинал

Введение

В этом практическом занятии мы научимся подключаться к событиям нажатия клавиш в 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.