Comment placer la légende en dehors d’un tracé Matplotlib
Souvent, vous souhaiterez peut-être placer la légende d’un tracé Matplotlib en dehors du tracé réel.
Heureusement, cela est facile à faire en utilisant la fonction matplotlib.pyplot.legend() combinée à l’argument bbox_to_anchor .
Ce tutoriel montre plusieurs exemples d’utilisation pratique de cette fonction.
Exemple 1 : placer la légende dans le coin supérieur droit
Le code suivant montre comment placer la légende dans le coin supérieur droit en dehors d’un tracé Matplotlib :
import matplotlib.pyplot as plt #create plot plt.subplot(211) plt.plot([2, 4, 6], label="First Data") plt.plot([6, 4, 2], label="Second Data") #place legend in top right corner plt.legend(bbox_to_anchor=(1,1), loc="upper left") #show plot plt.show()
Notez que l’argument loc indique à Matplotlib de placer le coin supérieur gauche de la ligne de légende aux coordonnées (x, y) de (1,1) dans le tracé.
Exemple 2 : placer la légende dans le coin inférieur droit
Le code suivant montre comment placer la légende dans le coin inférieur droit en dehors d’un tracé Matplotlib :
import matplotlib.pyplot as plt #create plot plt.subplot(211) plt.plot([2, 4, 6], label="First Data") plt.plot([6, 4, 2], label="Second Data") #place legend in top right corner plt.legend(bbox_to_anchor=(1,0), loc="lower left") #show plot plt.show()
Notez que l’argument loc indique à Matplotlib de placer le coin inférieur gauche de la ligne de légende aux coordonnées (x, y) de (1,0) dans le tracé.
Exemple 3 : placer la légende au-dessus du tracé
Le code suivant montre comment placer la légende au-dessus du tracé Matplotlib :
import matplotlib.pyplot as plt #create plot plt.subplot(211) plt.plot([2, 4, 6], label="First Data") plt.plot([6, 4, 2], label="Second Data") #place legend above plot plt.legend(bbox_to_anchor=(0, 1, 1, 0), loc="lower left", mode="expand", ncol=2) #show plot plt.show()
Notez que l’argument mode indique à Matplotlib d’étendre la légende sur la longueur du tracé et l’argument ncol indique à Matplotlib de placer les étiquettes de légende sur 2 colonnes.
Nous pourrions également laisser de côté les arguments mode et ncol si nous voulons simplement placer la légende dans le coin supérieur gauche au-dessus du tracé :
Ressources additionnelles
Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans Matplotlib :
Comment modifier la taille des polices sur un tracé Matplotlib
Comment supprimer les tiques des tracés Matplotlib
Comment afficher le quadrillage sur les tracés Matplotlib