Introduction
Dans ce laboratoire, vous allez apprendre à créer une animation avec Matplotlib. Plus précisément, vous allez apprendre à mettre en pause et à reprendre une animation à l'aide des méthodes Animation.pause() et Animation.resume().
Conseils sur la machine virtuelle
Une fois le démarrage de la machine virtuelle terminé, cliquez sur 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.
Importation des bibliothèques
Dans cette étape, nous allons importer les bibliothèques nécessaires pour créer une animation avec Matplotlib.
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation
Définir l'animation
Dans cette étape, nous allons définir l'animation que nous souhaitons créer. Nous allons créer une animation qui affiche une distribution normale qui se déplace vers la droite à chaque image.
class PauseAnimation:
def __init__(self):
## Créer la figure et l'axe
fig, ax = plt.subplots()
ax.set_title('Cliquez pour mettre en pause / reprendre l\'animation')
## Créer les valeurs de l'axe x
x = np.linspace(-0.1, 0.1, 1000)
## Commencer avec une distribution normale
self.n0 = (1.0 / ((4 * np.pi * 2e-4 * 0.1) ** 0.5)
* np.exp(-x ** 2 / (4 * 2e-4 * 0.1)))
## Créer le tracé
self.p, = ax.plot(x, self.n0)
## Créer l'animation
self.animation = animation.FuncAnimation(
fig, self.update, frames=200, interval=50, blit=True)
## Définir l'animation comme non mise en pause
self.paused = False
## Ajouter un événement de pression de bouton pour basculer la pause
fig.canvas.mpl_connect('button_press_event', self.toggle_pause)
def toggle_pause(self, *args, **kwargs):
## Basculer entre mis en pause et non mis en pause
if self.paused:
self.animation.resume()
else:
self.animation.pause()
self.paused = not self.paused
def update(self, i):
## Mettre à jour la distribution normale
self.n0 += i / 100 % 5
self.p.set_ydata(self.n0 % 20)
return (self.p,)
Créer l'objet Animation
Dans cette étape, nous allons créer un objet de la classe PauseAnimation que nous avons définie dans l'étape 2.
pa = PauseAnimation()
Afficher l'animation
Dans cette étape, nous allons afficher l'animation que nous avons créée dans l'étape 2.
plt.show()
Sommaire
Dans ce laboratoire, vous avez appris à créer une animation avec Matplotlib et à mettre en pause et reprendre l'animation à l'aide des méthodes Animation.pause() et Animation.resume(). Vous avez également appris à créer une animation interactive qui répond à l'entrée de l'utilisateur. Avec ces connaissances, vous pouvez créer vos propres animations personnalisées et leur ajouter une interactivité.