Introduction
Ce laboratoire vous guidera dans un processus étape par étape sur la manière d'utiliser l'événement de défilement dans Matplotlib. L'événement de défilement peut être utilisé pour naviguer à travers des tranches 2D de données 3D.
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ésoudrons rapidement le problème pour vous.
Importez les bibliothèques nécessaires
Tout d'abord, nous devons importer les bibliothèques nécessaires, qui incluent Matplotlib et NumPy.
import matplotlib.pyplot as plt
import numpy as np
Créez les données
Nous allons créer des données 3D en utilisant la fonction ogrid de NumPy.
x, y, z = np.ogrid[-10:10:100j, -10:10:100j, 1:10:20j]
X = np.sin(x * y * z) / (x * y * z)
Créez la classe IndexTracker
La classe IndexTracker suivra l'index de la tranche actuelle et mettra à jour le tracé en conséquence.
class IndexTracker:
def __init__(self, ax, X):
self.index = 0
self.X = X
self.ax = ax
self.im = ax.imshow(self.X[:, :, self.index])
self.update()
def on_scroll(self, event):
increment = 1 if event.button == 'up' else -1
max_index = self.X.shape[-1] - 1
self.index = np.clip(self.index + increment, 0, max_index)
self.update()
def update(self):
self.im.set_data(self.X[:, :, self.index])
self.ax.set_title(
f'Utilisez la molette de la souris pour naviguer\nindex {self.index}')
self.im.axes.figure.canvas.draw()
Créez le tracé et connectez l'événement de défilement
Nous allons créer le tracé en utilisant la fonction subplots de Matplotlib et passer l'objet IndexTracker créé à celle-ci. Ensuite, nous allons connecter l'événement de défilement au canevas de la figure en utilisant mpl_connect.
fig, ax = plt.subplots()
tracker = IndexTracker(ax, X)
fig.canvas.mpl_connect('scroll_event', tracker.on_scroll)
plt.show()
Sommaire
Dans ce laboratoire, nous avons appris à utiliser l'événement de défilement dans Matplotlib pour naviguer à travers les tranches 2D de données 3D. Nous avons créé une classe IndexTracker pour suivre l'index de la tranche actuelle et mis à jour le tracé en conséquence. Enfin, nous avons créé le tracé et connecté l'événement de défilement au canevas de la figure.