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

Ajouter un commentaire

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