Changer l'emplacement de la légende dans l'intrigue de Seaborn
Dans ce tutoriel, nous allons apprendre à changer l’emplacement de la légende dans un tracé marin en Python.
Pour cela, nous devrons désactiver la légende par défaut. Cela peut être fait en définissant le paramètre legend
sur False dans la fonction de tracé. Nous ajouterons explicitement la légende en utilisant la fonction matplotlib.pyplot.legend()
de la bibliothèque matplotlib.
Pour modifier la position de la légende, nous utiliserons le paramètre loc
de cette fonction. Nous pouvons spécifier l’emplacement requis de la légende comme valeur de ce paramètre.
Par example,
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
sns.lineplot(data=df, legend=False)
plt.legend(labels=["Day1", "Day2"], loc="upper right")
Nous pouvons également spécifier différents nombres comme valeur pour ce paramètre. Des numéros différents correspondent à des emplacements différents. Par exemple, 1 pour la position supérieure droite, 2 spécifie la position supérieure gauche, etc. Reportez-vous à cet article Matplotlib pour obtenir le tableau de la relation entre les nombres et les positions.
Par défaut, la valeur du paramètre loc
est 0, ce qui signifie qu’il recherche la position à l’intérieur du tracé pour qu’un chevauchement minimum ait lieu.
On peut aussi placer la boîte de légende en dehors du tracé en utilisant le paramètre bbox_to_anchor
. La bbox_to_anchor
précise la position de la légende par rapport à l’emplacement spécifié dans le paramètre loc
. Si nous définissons le paramètre bbox_to_anchor
avec un tuple à deux éléments, alors il considère leurs valeurs comme les valeurs x et y pour le positionnement le long du loc
spécifié.
Par example,
import seaborn as sns
import pandas as pd
import matplotlib.pyplot as plt
df = pd.DataFrame(
{"Day 1": [7, 1, 5, 6, 3, 10, 5, 8], "Day 2": [1, 2, 8, 4, 3, 9, 5, 2]}
)
sns.lineplot(data=df, legend=False)
plt.legend(labels=["Day1", "Day2"], loc=2, bbox_to_anchor=(1, 1))
Manav is a IT Professional who has a lot of experience as a core developer in many live projects. He is an avid learner who enjoys learning new things and sharing his findings whenever possible.
LinkedIn