Legende in Seaborn Plot
Eine Legende ist normalerweise ein kleines Kästchen, das an einer Ecke Ihres Diagramms angezeigt wird und verwendet wird, um Informationen zu den verschiedenen Elementen des Diagramms zu erhalten. Wenn das Diagramm mehrere Daten enthält, wird angegeben, welche Komponente welche Daten darstellt.
In diesem Tutorial erfahren Sie, wie Sie einer einfachen Handlung auf See eine Legende hinzufügen oder anpassen.
Standardmäßig fügt seaborn dem Diagramm automatisch eine Legende hinzu.
Beispielsweise,
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)
Beachten Sie, dass sich die Legende in der oberen rechten Ecke befindet.
Wenn wir eine Legende explizit hinzufügen möchten, können wir die Funktion legend()
aus der matplotlib-Bibliothek verwenden. Auf diese Weise können wir unsere eigenen Labels explizit hinzufügen.
Beispielsweise,
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"])
Beachten Sie, dass die Seaborn-Bibliothek auf dem matplotlib-Modul basiert und diese verwendet, um ihre Diagramme zu erstellen. So können wir die Funktion legend()
auch für seegeborene Parzellen verwenden.
Wir können auch kleine Anpassungen an der Legende vornehmen. Zum Beispiel können wir der Legende einen Titel hinzufügen, indem wir den Parameter title
in der Funktion legend()
verwenden, wie unten gezeigt.
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")
Die fontsize
und title_fontsize
sind die beiden Parameter, mit denen die Schriftart des Inhalts in der Legende bzw. der Titel geändert werden.
Siehe den Code unten.
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",
)
Beachten Sie, dass die title_fontsize
nicht in jeder Version von matplotlib vorhanden ist. Überprüfen Sie daher bitte Ihre Version, bevor Sie sie verwenden.
Wir können die Größe und Position des Legendenfelds mit den Parametern loc
und bbox_to_anchor
angeben.
loc
wird verwendet, um den Ort der Legende anzugeben. Unterschiedliche Nummern geben unterschiedliche Standorte an. Der Wert ist standardmäßig 0, was bedeutet, dass nach der besten Position zum Platzieren der Legende gesucht wird, an der minimale Überlappungen auftreten.
Die bbox_to_anchor
gibt die Position der Legende in Bezug auf die im Parameter loc
angegebene Position an. Wenn wir den Parameter bbox_to_anchor
mit einem 2-Elemente-Tupel setzen, werden seine Werte als x- und y-Werte für die Positionierung entlang der angegebenen loc
betrachtet.
Beispielsweise,
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))
Beachten Sie, dass der Wert des Arguments loc
2 ist, was die Position oben links angibt.
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