Introduction
Matplotlib est une bibliothèque complète permettant de créer des visualisations statiques, animées et interactives en Python. C'est l'une des bibliothèques de visualisation de données les plus populaires et elle est indispensable pour tout data scientist ou analyste travaillant avec Python.
Un graphique linéaire est l'un des types de graphiques les plus basiques et les plus utilisés. Il affiche des informations sous la forme d'une série de points de données appelés « marqueurs » reliés par des segments de droite. Il est souvent utilisé pour visualiser une tendance dans des données au fil du temps (une série chronologique), c'est pourquoi la ligne est généralement tracée de manière chronologique.
Dans ce laboratoire, vous apprendrez à créer un graphique linéaire simple à partir de zéro. Nous couvrirons l'ensemble du processus : la préparation des données, le tracé, l'ajout d'étiquettes descriptives aux axes et, enfin, l'enregistrement du graphique sous forme de fichier image que vous pourrez visualiser directement dans l'environnement LabEx.
Préparer les listes de données x et y
Dans cette étape, nous allons préparer les données pour notre graphique. Avant de pouvoir visualiser quoi que ce soit, vous avez besoin de données. Pour un graphique linéaire 2D simple, vous avez besoin de deux ensembles de données : un pour l'axe des x (l'axe horizontal) et un pour l'axe des y (l'axe vertical).
Nous utiliserons des listes Python pour stocker nos données. Créons un jeu de données simple représentant la croissance démographique sur quelques années.
Tout d'abord, ouvrez le fichier main.py situé dans le répertoire ~/project à partir de l'explorateur de fichiers sur la gauche. Le fichier contient déjà l'instruction d'importation nécessaire.
Maintenant, ajoutez le code suivant dans main.py pour créer deux listes, x et y.
import matplotlib.pyplot as plt
## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]
Ici, x représente les années et y représente la population en millions pour chaque année correspondante. Ces deux listes serviront de coordonnées pour notre graphique linéaire.
Tracer la ligne avec plt.plot(x, y)
Dans cette étape, nous allons utiliser les données que nous avons préparées pour créer le graphique proprement dit. Le module pyplot de Matplotlib, que nous avons importé sous le nom de plt, fournit une fonction appelée plot() qui est parfaite pour cette tâche.
La fonction plt.plot() prend deux arguments principaux : les données pour l'axe des x et les données pour l'axe des y. Elle dessinera ensuite une ligne reliant les points définis par ces coordonnées.
Ajoutez la ligne suivante à votre script main.py, juste après les listes de données que vous avez créées à l'étape précédente.
import matplotlib.pyplot as plt
## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]
## Create the plot
plt.plot(x, y)
Cette simple ligne de code indique à Matplotlib de créer un graphique linéaire en utilisant les listes x et y comme coordonnées. Cependant, si vous exécutez le script maintenant, vous ne verrez encore rien. Nous devons toujours ajouter des étiquettes et enregistrer explicitement le graphique dans un fichier.
Ajouter l'étiquette de l'axe des x avec plt.xlabel()
Dans cette étape, nous allons ajouter une étiquette à l'axe des x. Un graphique sans étiquettes n'a souvent aucun sens car l'observateur ne sait pas ce que représentent les axes. C'est un élément crucial pour créer des visualisations claires et informatives.
Matplotlib fournit la fonction plt.xlabel() pour ajouter une étiquette à l'axe des x. Il vous suffit de passer l'étiquette souhaitée sous forme de chaîne de caractères à cette fonction.
Ajoutons une étiquette pour « Year » (Année) à notre graphique. Ajoutez la ligne suivante à votre script main.py après l'appel à plt.plot().
import matplotlib.pyplot as plt
## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]
## Create the plot
plt.plot(x, y)
## Add x-axis label
plt.xlabel("Year")
Désormais, l'axe horizontal de notre graphique sera clairement étiqueté comme « Year ».
Ajouter l'étiquette de l'axe des y avec plt.ylabel()
Dans cette étape, nous allons ajouter une étiquette à l'axe des y, complétant ainsi l'étiquetage de base de notre graphique. Tout comme l'axe des x, l'axe des y a besoin d'une étiquette descriptive pour que les observateurs puissent comprendre les données.
La fonction pour cela est plt.ylabel(), qui fonctionne exactement comme plt.xlabel(). Vous y passez le texte de l'étiquette sous forme de chaîne de caractères.
Ajoutons une étiquette pour « Population » à notre graphique. Ajoutez la ligne suivante à votre script main.py, juste après l'appel à plt.xlabel().
import matplotlib.pyplot as plt
## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]
## Create the plot
plt.plot(x, y)
## Add x-axis label
plt.xlabel("Year")
## Add y-axis label
plt.ylabel("Population (in millions)")
Une fois les deux axes étiquetés, notre graphique est désormais beaucoup plus compréhensible.
Afficher le graphique avec plt.show()
Dans cette étape, nous allons générer et visualiser notre graphique. Dans un environnement de bureau classique, vous utiliseriez probablement plt.show() pour afficher le graphique dans une nouvelle fenêtre. Cependant, dans un environnement basé sur le Web comme LabEx, nous ne pouvons pas ouvrir de fenêtres d'interface graphique (GUI).
À la place, nous allons enregistrer le graphique dans un fichier image à l'aide de la fonction plt.savefig(). Cette fonction enregistre la figure actuelle dans un fichier situé dans le répertoire de votre projet.
Ajoutez la ligne suivante à la fin de votre script main.py. Cela aura pour effet d'enregistrer le graphique sous la forme d'une image PNG nommée line_plot.png.
import matplotlib.pyplot as plt
## Data for plotting
x = [2018, 2019, 2020, 2021, 2022]
y = [10, 12, 15, 18, 22]
## Create the plot
plt.plot(x, y)
## Add x-axis label
plt.xlabel("Year")
## Add y-axis label
plt.ylabel("Population (in millions)")
## Save the plot to a file
plt.savefig("line_plot.png")
Maintenant, ouvrez un terminal dans la WebIDE (vous pouvez utiliser l'icône + dans le panneau du terminal ou le menu Terminal > New Terminal). Exécutez votre script avec la commande suivante :
python3 main.py
Une fois la commande terminée, vous verrez un nouveau fichier nommé line_plot.png apparaître dans l'explorateur de fichiers sur la gauche. Double-cliquez sur line_plot.png pour l'ouvrir et admirer votre graphique linéaire terminé !

Résumé
Félicitations ! Vous avez créé et enregistré avec succès votre premier graphique linéaire à l'aide de Matplotlib.
Dans ce laboratoire, vous avez appris le flux de travail fondamental pour créer un graphique de base :
- Préparer les données : Vous avez créé des listes Python pour contenir les données de vos axes x et y.
- Tracer les données : Vous avez utilisé
plt.plot()pour générer le graphique linéaire à partir de vos données. - Ajouter des étiquettes : Vous avez rendu le graphique informatif en ajoutant des étiquettes avec
plt.xlabel()etplt.ylabel(). - Enregistrer le graphique : Vous avez appris à utiliser
plt.savefig()pour enregistrer votre visualisation dans un fichier, ce qui est indispensable dans les environnements sans interface graphique.
Ce n'est que le début de ce que vous pouvez accomplir avec Matplotlib. Vous pouvez maintenant vous appuyer sur ces compétences pour créer des visualisations plus complexes et personnalisées. Continuez à explorer !



