Création de légendes Matplotlib pour la visualisation de données

MatplotlibMatplotlibBeginner
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 la visualisation de données, les légendes aident le spectateur à comprendre ce qu'il voit. Les légendes dans Matplotlib sont des étiquettes qui décrivent les éléments d'un graphique. Ce tutoriel montrera comment créer des légendes pour une figure Matplotlib.

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 Carnet de notes 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églerons rapidement le problème pour vous.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL python(("Python")) -.-> python/DataStructuresGroup(["Data Structures"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlotCustomizationGroup(["Plot Customization"]) python(("Python")) -.-> python/ModulesandPackagesGroup(["Modules and Packages"]) python(("Python")) -.-> python/DataScienceandMachineLearningGroup(["Data Science and Machine Learning"]) matplotlib(("Matplotlib")) -.-> matplotlib/BasicConceptsGroup(["Basic Concepts"]) matplotlib(("Matplotlib")) -.-> matplotlib/PlottingDataGroup(["Plotting Data"]) matplotlib/BasicConceptsGroup -.-> matplotlib/importing_matplotlib("Importing Matplotlib") matplotlib/BasicConceptsGroup -.-> matplotlib/figures_axes("Understanding Figures and Axes") matplotlib/PlottingDataGroup -.-> matplotlib/line_plots("Line Plots") python/DataStructuresGroup -.-> python/lists("Lists") python/DataStructuresGroup -.-> python/tuples("Tuples") matplotlib/PlotCustomizationGroup -.-> matplotlib/legend_config("Legend Configuration") python/ModulesandPackagesGroup -.-> python/importing_modules("Importing Modules") python/DataScienceandMachineLearningGroup -.-> python/numerical_computing("Numerical Computing") python/DataScienceandMachineLearningGroup -.-> python/data_visualization("Data Visualization") subgraph Lab Skills matplotlib/importing_matplotlib -.-> lab-48729{{"Création de légendes Matplotlib pour la visualisation de données"}} matplotlib/figures_axes -.-> lab-48729{{"Création de légendes Matplotlib pour la visualisation de données"}} matplotlib/line_plots -.-> lab-48729{{"Création de légendes Matplotlib pour la visualisation de données"}} python/lists -.-> lab-48729{{"Création de légendes Matplotlib pour la visualisation de données"}} python/tuples -.-> lab-48729{{"Création de légendes Matplotlib pour la visualisation de données"}} matplotlib/legend_config -.-> lab-48729{{"Création de légendes Matplotlib pour la visualisation de données"}} python/importing_modules -.-> lab-48729{{"Création de légendes Matplotlib pour la visualisation de données"}} python/numerical_computing -.-> lab-48729{{"Création de légendes Matplotlib pour la visualisation de données"}} python/data_visualization -.-> lab-48729{{"Création de légendes Matplotlib pour la visualisation de données"}} end

Importez les bibliothèques nécessaires

Tout d'abord, nous devons importer les bibliothèques nécessaires - NumPy et Matplotlib. NumPy est une bibliothèque Python utilisée pour travailler avec des tableaux, tandis que Matplotlib est une bibliothèque de visualisation de données.

import matplotlib.pyplot as plt
import numpy as np

Création d'un tracé de base

Pour créer un tracé de base, nous devons définir les valeurs de x et y puis les tracer à l'aide de plt.plot(). Ici, nous allons tracer deux ondes sinusoïdales.

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.sin(4 * np.pi * x)

plt.plot(x, y1, label='sin(2pix)')
plt.plot(x, y2, label='sin(4pix)')

Ajout d'une légende

Pour ajouter une légende au tracé, nous utilisons la fonction plt.legend(). Nous pouvons passer les étiquettes de chaque ligne sous forme d'une liste de chaînes de caractères au paramètre labels de la fonction.

plt.legend(labels=['sin(2pix)', 'sin(4pix)'])

Personnalisation de la légende

Nous pouvons personnaliser la légende en changeant sa position, sa taille de police et d'autres paramètres. Pour changer la position de la légende, nous utilisons le paramètre loc. Nous pouvons également changer la taille de police à l'aide du paramètre fontsize.

plt.legend(labels=['sin(2pix)', 'sin(4pix)'], loc='lower right', fontsize='large')

Création d'une légende pour les sous-graphiques

Lors de la création de sous-graphiques, nous pouvons créer une légende pour tous les sous-graphiques en utilisant la fonction fig.legend(). Ici, nous allons créer deux sous-graphiques et tracer deux lignes sur chaque sous-graphique.

fig, axs = plt.subplots(1, 2)

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')

y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')

fig.legend((l1, l2), ('Ligne 1', 'Ligne 2'), loc='upper left')
fig.legend((l3, l4), ('Ligne 3', 'Ligne 4'), loc='upper right')

Placer la légende en dehors des axes

Parfois, nous pouvons vouloir que la légende soit en dehors des axes. Nous pouvons utiliser le paramètre loc pour spécifier l'emplacement de la légende en dehors des axes.

fig, axs = plt.subplots(1, 2, layout='constrained')

x = np.arange(0.0, 2.0, 0.02)
y1 = np.sin(2 * np.pi * x)
y2 = np.exp(-x)
l1, = axs[0].plot(x, y1)
l2, = axs[0].plot(x, y2, marker='o')

y3 = np.sin(4 * np.pi * x)
y4 = np.exp(-2 * x)
l3, = axs[1].plot(x, y3, color='tab:green')
l4, = axs[1].plot(x, y4, color='tab:red', marker='^')

fig.legend((l1, l2), ('Ligne 1', 'Ligne 2'), loc='upper left')
fig.legend((l3, l4), ('Ligne 3', 'Ligne 4'), loc='outside right upper')

Sommaire

Dans ce tutoriel, nous avons appris à créer des légendes pour les figures Matplotlib. Nous avons vu comment créer un tracé de base, ajouter une légende, personnaliser la légende, créer une légende pour les sous-graphiques et placer la légende en dehors des axes. Les légendes sont un aspect important de la visualisation de données, et savoir les créer est une compétence essentielle pour tout scientifique ou analyste de données.