Se connecter à des événements de pression de touches

MatplotlibMatplotlibBeginner
Pratiquer maintenant

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

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, nous allons apprendre à nous connecter aux événements de pression de touches dans Matplotlib, ce qui nous permet d'effectuer certaines actions lorsqu'une touche est pressée. Nous allons créer un tracé et configurer un écouteur d'événements de pression de touches qui basculera la visibilité de l'étiquette x lorsque la touche 'x' est pressée.

Conseils sur la machine virtuelle

Une fois le démarrage de la machine virtuelle terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Carnet de notes pour accéder au carnet Jupyter pour la pratique.

Parfois, vous devrez peut-être attendre quelques secondes pour que le carnet Jupyter ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations du carnet Jupyter.

Si vous rencontrez des problèmes pendant l'apprentissage, n'hésitez pas à demander à Labby. Donnez votre feedback après la session, et nous réglerons rapidement le problème pour vous.

Importation des bibliothèques

Nous commençons par importer les bibliothèques requises : matplotlib.pyplot et numpy.

import matplotlib.pyplot as plt
import numpy as np

Définir la fonction d'événement de pression de touches

Ensuite, nous définissons une fonction on_press qui sera appelée lorsqu'une touche est pressée. Cette fonction prend un paramètre event qui contient des informations sur la touche qui a été pressée. Dans cet exemple, nous allons basculer la visibilité de l'étiquette x lorsque la touche 'x' est pressée.

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()

Créer le tracé et connecter l'écouteur d'événements de pression de touches

Nous créons un tracé simple en utilisant np.random.rand() pour générer des données aléatoires. Ensuite, nous configurons l'écouteur d'événements de pression de touches en utilisant fig.canvas.mpl_connect() et en passant le nom de l'événement pour lequel nous voulons écouter ('key_press_event') et la fonction que nous voulons appeler lorsque l'événement se produit (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()

Exécuter le code

Enregistrez le code dans un fichier et exécutez-le dans un environnement Python. Un tracé sera affiché avec l'étiquette x "easy come, easy go". Lorsque la touche 'x' est pressée, l'étiquette x basculera entre visible et invisible.

Résumé

Dans ce laboratoire, nous avons appris à nous connecter à des événements de pression de touches dans Matplotlib. Nous avons créé un tracé et configuré un écouteur d'événements de pression de touches qui bascule la visibilité de l'étiquette x lorsque la touche 'x' est pressée. Ceci n'est qu'un exemple de ce qui peut être fait avec des événements de pression de touches dans Matplotlib.