Introduction
Dans ce laboratoire, vous allez apprendre à créer un histogramme animé à l'aide de Matplotlib en Python. L'histogramme animé simule de nouvelles données arrivant et met à jour les hauteurs des rectangles avec les nouvelles données.
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 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
Tout d'abord, nous devons importer les bibliothèques nécessaires.
import matplotlib.pyplot as plt
import numpy as np
import matplotlib.animation as animation
Fixer la graine aléatoire et les bornes des bins
Fixez la graine aléatoire pour la reproductibilité et fixez les limites des bins.
## Fixing random state for reproducibility
np.random.seed(19680801)
## Fixing bin edges
HIST_BINS = np.linspace(-4, 4, 100)
Créer des données et un histogramme
Créez des données et un histogramme à l'aide de NumPy.
## histogram our data with numpy
data = np.random.randn(1000)
n, _, _ = plt.hist(data, HIST_BINS, lw=1, ec="yellow", fc="green", alpha=0.5)
Créer une fonction d'animation
Nous devons créer une fonction animate qui génère de nouvelles données aléatoires et met à jour les hauteurs des rectangles.
def animate(frame_number):
## simulate new data coming in
data = np.random.randn(1000)
n, _ = np.histogram(data, HIST_BINS)
for count, rect in zip(n, bar_container.patches):
rect.set_height(count)
return bar_container.patches
Créer un conteneur de barres et une animation
En utilisant plt.hist, nous pouvons obtenir une instance de BarContainer, qui est une collection d'instances de Rectangle. Nous utilisons FuncAnimation pour configurer l'animation.
## Using plt.hist allows us to get an instance of BarContainer, which is a
## collection of Rectangle instances. Calling prepare_animation will define
## animate function working with supplied BarContainer, all this is used to setup FuncAnimation.
fig, ax = plt.subplots()
_, _, bar_container = ax.hist(data, HIST_BINS, lw=1, ec="yellow", fc="green", alpha=0.5)
ax.set_ylim(top=55) ## set safe limit to ensure that all data is visible.
ani = animation.FuncAnimation(fig, animate, 50, repeat=False, blit=True)
plt.show()
Sommaire
Dans ce laboratoire, vous avez appris à créer un histogramme animé à l'aide de Matplotlib en Python. Vous avez commencé par importer les bibliothèques nécessaires, fixer la graine aléatoire et les bornes des bins, créer des données et un histogramme, créer une fonction d'animation et enfin créer un conteneur de barres et une animation. En suivant ces étapes, vous pouvez créer des histogrammes animés pour visualiser les données de manière dynamique.