Comment ajouter une légende au nuage de points dans Matplotlib



Vous pouvez utiliser la syntaxe suivante pour ajouter une légende à un nuage de points dans Matplotlib :

import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap

#define values, classes, and colors to map 
values = [0, 0, 1, 2, 2, 2]
classes = ['A', 'B', 'C']
colors = ListedColormap(['red', 'blue', 'purple'])

#create scatterplot
scatter = plt.scatter(x, y, c=values, cmap=colors)

#add legend
plt.legend(*scatter.legend_elements())

Les exemples suivants montrent comment utiliser cette syntaxe dans la pratique.

Exemple 1 : Légende du nuage de points avec des valeurs

L’exemple suivant montre comment créer un nuage de points dans lequel la légende affiche des valeurs :

import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap

#define data
x = [3, 4, 4, 6, 8, 9]
y = [12, 14, 17, 16, 11, 13]

#define values, classes, and colors to map 
values = [0, 0, 1, 2, 2, 2]
classes = ['A', 'B', 'C']
colors = ListedColormap(['red', 'blue', 'purple'])

#create scatterplot
scatter = plt.scatter(x, y, c=values, cmap=colors)

#add legend with values
plt.legend(*scatter.legend_elements())

Exemple 2 : Légende du nuage de points avec classes

L’exemple suivant montre comment créer un nuage de points dans lequel la légende affiche les noms de classe :

import matplotlib.pyplot as plt
from matplotlib.colors import ListedColormap

#define data
x = [3, 4, 4, 6, 8, 9]
y = [12, 14, 17, 16, 11, 13]

#define values, classes, and colors to map 
values = [0, 0, 1, 2, 2, 2]
classes = ['A', 'B', 'C']
colors = ListedColormap(['red', 'blue', 'purple'])

#create scatterplot
scatter = plt.scatter(x, y, c=values, cmap=colors)

#add legend with class names
plt.legend(handles=scatter.legend_elements()[0], labels=classes)

Notez que cette légende affiche les noms de classe que nous avons spécifiés (A, B, C) par opposition aux valeurs (0, 1, 2) que nous avons spécifiées.

Ressources additionnelles

Comment augmenter la taille du tracé dans Matplotlib
Comment ajuster la position du titre dans Matplotlib
Comment définir les plages d’axes dans Matplotlib

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *