HOWTO · Matplotlib
Comment faire la légende du nuage de points dans Matplotlib
Il démontre comment vous pouvez générer une légende de nuage de points en utilisant la fonction matplotlib.pyplot.legend.
Sur cette page
La légende est simplement la description des différents éléments d’une figure. Nous pouvons générer une légende de nuage de points en utilisant la fonction matplotlib.pyplot.legend.
Ajouter une légende au nuage de points 2D dans Matplotlib
import numpy as np
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [i ** 2 for i in x]
y2 = [2 * i + 1 for i in x]
plt.scatter(x, y1, marker="x", color="r", label="x**2")
plt.scatter(x, y2, marker="o", color="b", label="2*x+1")
plt.legend()
plt.show()
Production:
Nous avons deux diagrammes de dispersion séparés dans la figure : l’un représenté par x et l’autre par la marque o. Nous attribuons l’“étiquette” à chaque nuage de points utilisé comme balise lors de la génération de la légende. Ensuite, nous créons la légende dans la figure en utilisant la fonction legend() et enfin nous affichons la figure entière en utilisant la méthode show().
Nous pouvons également passer directement un n-uplet d’étiquettes en argument à la méthode legend() et changer la position de la légende en utilisant le paramètre loc de la méthode legend().
import numpy as np
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y1 = [i ** 2 for i in x]
y2 = [2 * i + 1 for i in x]
plt.scatter(x, y1, marker="x", color="r")
plt.scatter(x, y2, marker="o", color="b")
plt.legend(("x**2", "2*x+1"), loc="center left")
plt.show()
Production:
Ce processus crée une figure avec deux nuages de points et une légende placée au centre gauche de la boîte de frontière des axes.
Ajouter une légende au nuage de points 3D dans Matplotlib
import matplotlib.pyplot as plt
x = [1, 2, 3, 4, 5]
y = [2, 1, 4, 5, 6]
z1 = [i + j for (i, j) in zip(x, y)]
z2 = [3 * i - j for (i, j) in zip(x, y)]
axes = plt.subplot(111, projection="3d")
axes.plot(x, y, z1, "x", label="x+y")
axes.plot(x, y, z2, "o", label="3*x-y")
plt.legend(loc="upper left")
plt.show()
Production:
Pour créer une légende pour le nuage de points 3D, nous utilisons la méthode plot() au lieu de la méthode scatter() ; c’est parce que la méthode legend() ne supporte pas le Patch3DCollection renvoyé par la méthode scatter() de l’instance Axes3D.