Comment changer la position d’une légende dans Seaborn
Pour changer la position d’une légende dans un tracé marin, vous pouvez utiliser la commande plt.legend() .
Par exemple, vous pouvez utiliser la syntaxe suivante pour placer la légende dans le coin supérieur droit du tracé :
plt.legend(loc='upper right')
L’emplacement par défaut est « le meilleur » – c’est là que Matplotlib trouve automatiquement un emplacement pour la légende en fonction de l’endroit où il évite de couvrir des points de données.
Toutefois, vous pouvez spécifier l’un des emplacements de légende suivants :
- En haut à droite
- en haut à gauche
- en bas à gauche
- en bas à droite
- droite
- centre gauche
- centre droit
- en bas au centre
- en haut au centre
- centre
Vous pouvez également utiliser l’argument bbox_to_anchor() pour placer la légende en dehors du tracé. Par exemple, vous pouvez utiliser la syntaxe suivante pour placer la légende dans le coin supérieur droit en dehors du tracé :
plt.legend(bbox_to_anchor=(1.05, 1), loc='upper left', borderaxespad=0)
Les exemples suivants montrent comment utiliser chacune de ces méthodes dans la pratique.
Exemple 1 : Modifier la position de la légende à l’intérieur du tracé Seaborn
Le code suivant montre comment placer la légende dans la partie centrale droite d’un nuage de points marin :
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt #create fake data df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4], 'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B']}) #create scatterplot sns.scatterplot(data=df, x='points', y='assists', hue='team') #place legend in center right of plot plt.legend(loc='center right', title='Team')
Et le code suivant montre comment placer la légende dans la partie supérieure gauche d’un nuage de points marin :
#create scatterplot sns.scatterplot(data=df, x='points', y='assists', hue='team') #place legend in upper left of plot plt.legend(loc='upper left', title='Team')
Exemple 2 : Modifier la position de la légende en dehors du tracé Seaborn
Pour placer la légende en dehors d’un tracé marin, nous pouvons utiliser l’argument bbox_to_anchor() .
Par exemple, voici comment placer la légende en dehors du coin supérieur droit du tracé :
import pandas as pd import seaborn as sns import matplotlib.pyplot as plt #create fake data df = pd.DataFrame({'points': [25, 12, 15, 14, 19, 23, 25, 29], 'assists': [5, 7, 7, 9, 12, 9, 9, 4], 'team': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B']}) #create scatterplot sns.scatterplot(data=df, x='points', y='assists', hue='team') #place legend outside top right corner of plot plt.legend(bbox_to_anchor=(1.02, 1), loc='upper left', borderaxespad=0)
Et voici comment placer la légende en dehors du coin inférieur droit du tracé :
#create scatterplot sns.scatterplot(data=df, x='points', y='assists', hue='team') #place legend outside bottom right corner of plot plt.legend(bbox_to_anchor=(1.02, 0.15), loc='upper left', borderaxespad=0)
Reportez-vous à la documentation matplotlib pour une explication détaillée de l’argument bbox_to_anchor() .
Ressources additionnelles
Comment ajuster la taille de la figure d’un tracé Seaborn
Comment modifier les étiquettes des axes sur un tracé Seaborn
Comment modifier la taille de la police de la légende dans un tracé Seaborn