Introduction
Ce laboratoire est conçu pour vous initier aux bases de la visualisation de données à l'aide de Matplotlib. Matplotlib est une bibliothèque populaire de visualisation de données pour Python qui offre un large éventail d'options pour créer des graphiques, des diagrammes et des tableaux de bord.
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.
Préparation
Avant de commencer, nous devons nous assurer que Matplotlib est installé. Vous pouvez l'installer à l'aide de pip, en exécutant la commande suivante :
!pip install matplotlib
Une fois installé, nous devons importer la bibliothèque et configurer l'environnement :
import matplotlib.pyplot as plt
import numpy as np
## Fixing random state for reproducibility
np.random.seed(19680801)
## Create new Figure with black background
fig = plt.figure(figsize=(8, 8), facecolor='black')
## Add a subplot with no frame
ax = plt.subplot(frameon=False)
Génération de données aléatoires
Dans cette étape, nous allons générer des données aléatoires que nous utiliserons pour créer notre graphique.
## Generate random data
data = np.random.uniform(0, 1, (64, 75))
X = np.linspace(-1, 1, data.shape[-1])
G = 1.5 * np.exp(-4 * X ** 2)
Création de graphiques en ligne
Nous allons créer des graphiques en ligne à l'aide des données aléatoires que nous avons générées dans l'étape précédente.
## Generate line plots
lines = []
for i in range(len(data)):
## Small reduction of the X extents to get a cheap perspective effect
xscale = 1 - i / 200.
## Same for linewidth (thicker strokes on bottom)
lw = 1.5 - i / 100.0
line, = ax.plot(xscale * X, i + G * data[i], color="w", lw=lw)
lines.append(line)
Régler les limites et supprimer les graduations
Dans cette étape, nous allons régler la limite de l'axe des y et supprimer les graduations du graphique.
## Set y limit (or first line is cropped because of thickness)
ax.set_ylim(-1, 70)
## No ticks
ax.set_xticks([])
ax.set_yticks([])
Ajout d'un titre
Nous allons ajouter un titre à notre graphique.
## 2 part titles to get different font weights
ax.text(0.5, 1.0, "MATPLOTLIB ", transform=ax.transAxes,
ha="right", va="bottom", color="w",
family="sans-serif", fontweight="light", fontsize=16)
ax.text(0.5, 1.0, "UNCHAINED", transform=ax.transAxes,
ha="left", va="bottom", color="w",
family="sans-serif", fontweight="bold", fontsize=16)
Animation du graphique
Nous allons maintenant animer le graphique en déplaçant les données vers la droite et en remplissant de nouvelles valeurs.
import matplotlib.animation as animation
def update(*args):
## Shift all data to the right
data[:, 1:] = data[:, :-1]
## Fill-in new values
data[:, 0] = np.random.uniform(0, 1, len(data))
## Update data
for i in range(len(data)):
lines[i].set_ydata(i + G * data[i])
## Return modified artists
return lines
## Construct the animation, using the update function as the animation director.
anim = animation.FuncAnimation(fig, update, interval=10, save_count=100)
plt.show()
Sommaire
Dans ce laboratoire, nous avons appris les bases de la visualisation de données à l'aide de Matplotlib. Nous avons généré des données aléatoires, créé des graphiques en ligne, défini les limites et supprimé les graduations, ajouté un titre et animé le graphique. Ce ne sont que les bases, et Matplotlib offre de nombreuses autres options pour personnaliser et améliorer vos visualisations.