Introduction
Matplotlib est une bibliothèque de visualisation de données pour Python. Elle propose une variété d'outils pour créer des visualisations statiques, animées et interactives en Python. L'une des fonctionnalités interactives de Matplotlib est la capacité de détecter lorsque la souris entre et sort d'une figure ou d'un axe. Dans ce laboratoire, nous allons apprendre à utiliser les événements d'entrée/sortie de la Figure et de l'Axe de Matplotlib pour changer les couleurs du cadre de la figure et de l'axe.
Conseils sur la VM
Une fois le démarrage de la VM terminé, cliquez dans le coin supérieur gauche pour basculer vers l'onglet Notebook pour accéder à Jupyter Notebook pour la pratique.
Parfois, vous devrez peut-être attendre quelques secondes pour que Jupyter Notebook ait fini de charger. La validation des opérations ne peut pas être automatisée en raison des limitations de Jupyter Notebook.
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ésoudrons rapidement le problème pour vous.
Importing Matplotlib
Avant de commencer à utiliser Matplotlib, nous devons l'importer. Nous allons également importer le module pyplot, qui fournit une interface simple pour créer des graphiques.
import matplotlib.pyplot as plt
Creating the Figure and Axes
Nous allons créer une figure avec deux sous-graphiques (axes) à l'aide de la fonction subplots. Nous allons également définir le titre de la figure.
fig, axs = plt.subplots(2, 1)
fig.suptitle('Mouse Hover Over Figure or Axes to Trigger Events')
Définition des gestionnaires d'événements
Nous allons maintenant définir quatre fonctions de gestionnaire d'événements : on_enter_axes, on_leave_axes, on_enter_figure et on_leave_figure. Ces fonctions seront appelées lorsque la souris entre ou sort d'un axe ou de la figure.
def on_enter_axes(event):
print('enter_axes', event.inaxes)
event.inaxes.patch.set_facecolor('yellow')
event.canvas.draw()
def on_leave_axes(event):
print('leave_axes', event.inaxes)
event.inaxes.patch.set_facecolor('white')
event.canvas.draw()
def on_enter_figure(event):
print('enter_figure', event.canvas.figure)
event.canvas.figure.patch.set_facecolor('red')
event.canvas.draw()
def on_leave_figure(event):
print('leave_figure', event.canvas.figure)
event.canvas.figure.patch.set_facecolor('grey')
event.canvas.draw()
Connecter les gestionnaires d'événements à la toile de la figure
Nous allons maintenant connecter les gestionnaires d'événements à la toile de la figure en utilisant la méthode mpl_connect. Cela permettra aux gestionnaires d'événements d'être déclenchés lorsque la souris entre ou sort de la figure ou des axes.
fig.canvas.mpl_connect('figure_enter_event', on_enter_figure)
fig.canvas.mpl_connect('figure_leave_event', on_leave_figure)
fig.canvas.mpl_connect('axes_enter_event', on_enter_axes)
fig.canvas.mpl_connect('axes_leave_event', on_leave_axes)
Affichage de la figure
Nous allons maintenant afficher la figure à l'aide de la fonction show.
plt.show()
Résumé
Dans ce laboratoire, nous avons appris à utiliser les événements d'entrée/sortie de la Figure et des Axes de Matplotlib pour changer les couleurs des cadres de la figure et des axes. Nous avons créé une figure avec deux sous-graphiques, défini des fonctions de gestionnaire d'événements pour entrer et sortir de la figure et des axes, connecté les gestionnaires d'événements à la toile de la figure et affiché la figure.