Création d'images animées avec Matplotlib

PythonPythonBeginner
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 à créer une image animée à l'aide de listes prédéfinies d'images. Nous utiliserons la bibliothèque Matplotlib en Python pour créer l'animation. Le but de ce laboratoire est de démontrer le processus de création d'une image animée et de fournir une compréhension de base de son fonctionnement.

Conseils sur la VM

Une fois le démarrage de la VM 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 limites 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

Pour commencer, nous devons importer les bibliothèques que nous allons utiliser. Nous utiliserons la bibliothèque Matplotlib pour créer l'animation et la bibliothèque Numpy pour générer les données de l'animation.

import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation

Créer les objets Figure et Axes

Ensuite, nous devons créer les objets Figure et Axes que nous utiliserons pour créer l'animation. Nous utiliserons la méthode subplots pour créer ces objets.

fig, ax = plt.subplots()

Définir la fonction

Nous devons maintenant définir la fonction que nous utiliserons pour générer les données de l'animation. Dans cet exemple, nous utiliserons les fonctions sinus et cosinus pour générer les données.

def f(x, y):
    return np.sin(x) + np.cos(y)

Générer les données

Nous utiliserons la méthode linspace de la bibliothèque Numpy pour générer les données de l'animation. Nous allons générer deux ensembles de données, x et y, puis redimensionner les données y pour créer un tableau à deux dimensions.

x = np.linspace(0, 2 * np.pi, 120)
y = np.linspace(0, 2 * np.pi, 100).reshape(-1, 1)

Créer les trames d'animation

Nous allons maintenant créer les trames pour l'animation. Nous utiliserons une boucle for pour générer 60 trames. Dans chaque itération de la boucle, nous mettrons à jour les données x et y puis créerons un nouvel objet image à l'aide de la méthode imshow. Nous ajouterons ensuite l'objet image à la liste ims.

ims = []
for i in range(60):
    x += np.pi / 15
    y += np.pi / 30
    im = ax.imshow(f(x, y), animated=True)
    if i == 0:
        ax.imshow(f(x, y))  ## show an initial one first
    ims.append([im])

Créer l'animation

Nous allons maintenant créer l'animation à l'aide de la méthode ArtistAnimation. Nous passerons l'objet figure, la liste ims, l'intervalle entre les trames et le délai de répétition.

ani = animation.ArtistAnimation(fig, ims, interval=50, blit=True, repeat_delay=1000)

Afficher l'animation

Enfin, nous utiliserons la méthode show pour afficher l'animation.

plt.show()

Sommaire

Dans ce laboratoire, nous avons appris à créer une image animée à l'aide de listes prédéfinies d'images. Nous avons utilisé la bibliothèque Matplotlib en Python pour créer l'animation et la bibliothèque Numpy pour générer les données de l'animation. Nous avons créé les objets figure et axes, défini la fonction, généré les données, créé les trames d'animation et créé l'animation. Nous avons ensuite affiché l'animation à l'aide de la méthode show. Ce laboratoire a fourni une compréhension de base de la manière de créer une image animée et a démontré le processus pour le faire.