Légende dans Seaborn Plot

Manav Narula 21 décembre 2022
Légende dans Seaborn Plot

Une légende est généralement une petite boîte, qui apparaît à un coin de votre graphique et est utilisée pour parler des différents éléments du tracé. Et s’il y a plusieurs données dans le graphique, alors il indique quel composant représente quelles données.

Dans ce didacticiel, nous allons apprendre comment ajouter ou personnaliser une légende à un simple tracé marin.

Par défaut, seaborn ajoute automatiquement une légende au graphique.

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)

légende marine 1

Remarquez que la légende est dans le coin supérieur droit.

Si nous voulons ajouter explicitement une légende, nous pouvons utiliser la fonction legend() de la bibliothèque matplotlib. De cette façon, nous pouvons ajouter explicitement nos propres étiquettes.

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)
plt.legend(labels=["Legend_Day1", "Legend_Day2"])

légende marine 2

Notez que la bibliothèque seaborn est basée sur et utilise le module matplotlib pour créer ses graphiques. Nous pouvons donc également utiliser la fonction legend() pour les parcelles Seaborn.

Nous pouvons également effectuer de petites personnalisations sur la légende. Par exemple, nous pouvons ajouter un titre à la légende en utilisant le paramètre title dans la fonction legend(), comme illustré ci-dessous.

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)
plt.legend(labels=["Legend_Day1", "Legend_Day2"], title="Title_Legend")

légende marine 3

fontsize et title_fontsize sont les deux paramètres qui permettent de modifier respectivement la police du contenu de la légende et son titre.

Voir le code ci-dessous.

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)
plt.legend(
    labels=["Legend_Day1", "Legend_Day2"],
    title="Title_Legend",
    fontsize="large",
    title_fontsize="10",
)

légende marine 4

Notez que title_fontsize n’est pas présent dans toutes les versions de matplotlib donc veuillez vérifier votre version avant de l’utiliser.

Nous pouvons spécifier la taille et la position de la boîte de légende à l’aide des paramètres loc et bbox_to_anchor.

loc est utilisé pour spécifier l’emplacement de la légende. Des nombres différents spécifient des emplacements différents. Sa valeur est 0 par défaut, ce qui signifie qu’il recherche la meilleure position pour placer la légende là où le chevauchement minimum se produit.

La bbox_to_anchor spécifie 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 de 2 é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 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)
plt.legend(labels=["Legend_Day1", "Legend_Day2"], loc=2, bbox_to_anchor=(1, 1))

légende marine 5

Notez que la valeur de l’argument loc est 2, ce qui indique l’emplacement en haut à gauche.

Auteur: Manav Narula
Manav Narula avatar Manav Narula avatar

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

Article connexe - Seaborn Legend