HOWTO · Seaborn
So ändern Sie die Größe eines Seaborn-Diagramms
Dieses Tutorial zeigt, wie Sie die Größe eines Seaborn-Diagramms in Python ändern.
Auf dieser Seite
In der Datenwissenschaft und Visualisierung ist es entscheidend, informative und visuell ansprechende Diagramme zu erstellen. Ein leistungsstarkes Werkzeug zum Erstellen ästhetisch ansprechender Diagramme ist Seaborn, eine Python-Bibliothek zur Datenvisualisierung, die auf Matplotlib aufbaut.
In diesem Artikel werden wir verschiedene Methoden zum Festlegen der Figurgrößen von Seaborn-Diagrammen in Python untersuchen, von der Verwendung integrierter Parameter wie height und aspect bis hin zu Matplotlib-Funktionen wie figure(), gcf() und subplots().
Festlegen der Figurgröße eines Seaborn-Diagramms in Python mit der Funktion seaborn.set()
Die erste Methode, die wir verwenden werden, ist die Funktion seaborn.set(), mit der Benutzer verschiedene Aspekte des Erscheinungsbilds der Bibliothek anpassen können, einschließlich Themen und Konfigurationen. Für unseren Zweck konzentrieren wir uns darauf, sie zur Steuerung der Größe von Seaborn-Diagrammen zu verwenden.
Syntax:
import seaborn as sns
sns.set(rc={"figure.figsize": (width, height)})
Der Parameter rc akzeptiert ein Dictionary, in dem wir das Schlüsselwortargument 'figure.figsize' und den entsprechenden Wert als Tupel angeben, das die gewünschte Breite und Höhe der Figur enthält. Ersetzen Sie width und height durch die spezifische Größe der Figur.
Festlegen einer Seaborn-Figurgröße mit seaborn.set() – Beispiel
Standardfigurgröße:
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
# Sample data
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.title("Default Figure Size")
plt.show()
Im ersten Codeblock importieren wir die notwendigen Bibliotheken, erstellen Beispieldaten und erzeugen ein Diagramm, ohne die Figurgröße explizit festzulegen. Dies entspricht dem Standardverhalten.
Code-Ausgabe:
Nach dem Festlegen der Seaborn-Figurgröße:
import pandas as pd
import seaborn as sns
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.set(rc={"figure.figsize": (15, 8)})
p = sns.lineplot(data=df)
plt.show()
In diesem geänderten Codeblock führen wir sns.set(rc={"figure.figsize": (15, 8)}) ein, wobei wir die Funktion seaborn.set() aufrufen, um die Seaborn-Figurgröße anzugeben. Der Parameter rc nimmt ein Dictionary entgegen, und in diesem Fall setzen wir das Schlüsselwortargument "figure.figsize" auf die gewünschten Abmessungen von 15 Zoll in der Breite und 8 Zoll in der Höhe.
Code-Ausgabe:
Die Ausgabe zeigt ein Liniendiagramm mit der angegebenen Figurgröße von 15 Zoll mal 8 Zoll und stellt sicher, dass die visuelle Darstellung der gewünschten Größe entspricht.
Festlegen der Figurgröße eines Seaborn-Diagramms in Python mit der Funktion rcParams
Neben der Funktion seaborn.set() besteht ein weiterer Ansatz zum Festlegen der Seaborn-Figurgröße darin, die Funktion rcParams aus dem matplotlib.pyplot Modul zu verwenden. Diese zweite Methode bietet ebenfalls Flexibilität bei der Anpassung des Stils des Diagramms.
Die Funktion rcParams wird verwendet, um verschiedene Aspekte des Verhaltens von Matplotlib zu konfigurieren, einschließlich der Figurgröße. Um die Figurgröße zu ändern, zielen wir speziell auf den Parameter "figure.figsize" innerhalb von rcParams ab und weisen ihm die gewünschten Abmessungen als Tupel zu.
Syntax:
from matplotlib import rcParams
rcParams["figure.figsize"] = (width, height)
Ersetzen Sie width und height durch die spezifischen Abmessungen, die Sie für die Figur wünschen.
Festlegen einer Seaborn-Figurgröße mit rcParams – Beispiel
from matplotlib import rcParams
import pandas as pd
import seaborn as sns
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]}
)
rcParams["figure.figsize"] = 15, 8
p = sns.lineplot(data=df)
plt.show()
Um die Figurgröße festzulegen, verwenden wir rcParams["figure.figsize"] = 15, 8. Diese Codezeile ändert direkt die Matplotlib-Laufzeitkonfigurationsparameter, um die gewünschte Größe von 15 Zoll in der Breite und 8 Zoll in der Höhe anzugeben.
Code-Ausgabe:
Festlegen der Figurgröße eines Seaborn-Diagramms in Python mit der Funktion matplotlib.pyplot.figure()
Eine weitere einfache Methode, die uns zur Verfügung steht, ist die Funktion matplotlib.pyplot.figure(), mit der eine neue Figurinstanz erstellt wird. Durch die Verwendung des Parameters figsize innerhalb dieser Funktion können wir die Breite und Höhe des Figurobjekts in Zoll angeben.
Syntax:
import matplotlib.pyplot as plt
plt.figure(figsize=(width, height))
Ersetzen Sie width und height durch die spezifischen Abmessungen, die Sie für die Figur wünschen. Diese Funktion muss aufgerufen werden, bevor Sie Ihr Diagramm erstellen, um sicherzustellen, dass die Figurgröße angemessen konfiguriert ist.
Festlegen einer Seaborn-Figurgröße mit matplotlib.pyplot.figure() – Beispiel
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]}
)
# Set the size of the figure using matplotlib.pyplot.figure()
plt.figure(figsize=(15, 8))
# Create plot
p = sns.lineplot(data=df)
plt.show()
In diesem Beispiel verwenden wir plt.figure(figsize=(15, 8)), wobei figsize als Tupel angegeben ist, das die Breite und Höhe der Figur darstellt. Diese Methode stellt sicher, dass das nachfolgende Diagramm den angegebenen Abmessungen entspricht.
Code-Ausgabe:
Wir haben erfolgreich ein Liniendiagramm mit der angegebenen Seaborn-Figurgröße von 15 Zoll mal 8 Zoll erstellt.
Festlegen der Figurgröße eines Seaborn-Diagramms in Python mit der Funktion matplotlib.pyplot.gcf()
Für eine feinkörnige Steuerung der Größe von Diagrammen bietet die Funktion matplotlib.pyplot.gcf() in Verbindung mit set_size_inches() eine vielseitige Lösung.
Die Funktion matplotlib.pyplot.gcf() steht für “get current figure” und ruft die aktuelle Figurinstanz ab. In Kombination mit set_size_inches() ermöglicht sie es Ihnen, die Figurgröße dynamisch anzupassen.
Syntax:
import matplotlib.pyplot as plt
current_fig = plt.gcf()
current_fig.set_size_inches(width, height)
Ersetzen Sie width und height durch Ihre gewünschten Abmessungen. Diese Funktion ist besonders praktisch, wenn Sie bereits ein Diagramm erstellt haben und seine Größe ändern möchten.
Festlegen einer Seaborn-Figurgröße mit matplotlib.pyplot.gcf() – Beispiel
import pandas as pd
import seaborn as sns
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]}
)
p = sns.lineplot(data=df)
plt.gcf().set_size_inches(15, 8)
plt.show()
Im Gegensatz zu den vorherigen Beispielen legen wir die Figurgröße nach dem Erstellen des Diagramms mit plt.gcf().set_size_inches(15, 8) fest. plt.gcf() ruft die aktuelle Figurinstanz ab, und set_size_inches() wird dann angewendet, um die Figur dynamisch auf 15 Zoll in der Breite und 8 Zoll in der Höhe anzupassen.
Code-Ausgabe:
Wie Sie sehen können, zeigt die Ausgabe ein Liniendiagramm mit der angegebenen Figurgröße von 15 Zoll mal 8 Zoll.
Festlegen der Figurgröße eines Seaborn-Diagramms in Python mit den Parametern height und aspect
Seaborn vereinfacht das Anpassen der Figurgröße, indem es integrierte Parameter wie height und aspect für bestimmte Diagrammtypen wie lmplot, catplot und jointplot anbietet. Diese ermöglichen es Benutzern, die Größe der gezeichneten Figur direkt zu steuern, ohne zusätzliche Funktionsaufrufe.
Der Parameter height in Seaborn stellt die Höhe der gesamten Figur dar, während der Parameter aspect das Seitenverhältnis des Diagramms steuert.
Festlegen einer Seaborn-Figurgröße mit den Parametern height und aspect – Beispiel
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]}
)
# create plot
p = sns.catplot(data=df, height=8, aspect=15 / 8, kind="bar")
plt.show()
In diesem Beispiel verwenden wir zum Festlegen der Figurgröße die Funktion sns.catplot(), die die Parameter height und aspect von Haus aus unterstützt. In diesem Fall setzt height=8 die Figurhöhe auf 8 Zoll, und aspect=15 / 8 steuert das Verhältnis, um eine Breite von 15 Zoll zu erreichen.
Code-Ausgabe:
Diese Methode ist besonders praktisch, wenn Sie mit Seaborn-Diagrammtypen arbeiten, die über integrierte Parameter verfügen.
Festlegen der Figurgröße eines Seaborn-Diagramms in Python mit der Funktion matplotlib.pyplot.subplots()
Die Funktion matplotlib.pyplot.subplots() bietet einen vielseitigen Ansatz zum Festlegen der Figurgröße in Seaborn-Diagrammen. Indem wir mit dieser Funktion Figur- und Achsenobjekte erstellen, können wir die Abmessungen leicht anpassen, bevor wir Diagramme erzeugen.
Die Funktion matplotlib.pyplot.subplots() wird verwendet, um eine Figur und eine Reihe von Subplots zu erstellen. Der Parameter figsize innerhalb dieser Funktion ermöglicht es uns, die Breite und Höhe der gesamten Figur in Zoll anzugeben, und auf die einzelnen Subplots kann über das Seaborn-Achsenobjekt zugegriffen und ihnen können spezifische Diagramme zugewiesen werden.
Diese Methode ist besonders nützlich, wenn mehrere Subplots beteiligt sind, da sie eine feinkörnige Steuerung der gesamten Figurgröße bietet.
Festlegen einer Seaborn-Figurgröße mit matplotlib.pyplot.subplots() – Beispiel
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]}
)
fig, ax = plt.subplots(figsize=(15, 8))
p = sns.lineplot(data=df, ax=ax)
plt.show()
In diesem Beispiel besteht der entscheidende Schritt darin, plt.subplots(figsize=(15, 8)) zu verwenden, um eine Figur und Achsen mit einer angegebenen Größe von 15 Zoll mal 8 Zoll zu erstellen. Beim Zeichnen der Seaborn-Figur setzen wir den Parameter ax gleich dem Array von Achsen, das von matplotlib.pyplot.subplots() zurückgegeben wurde.
Code-Ausgabe:
Damit wurde erfolgreich ein Liniendiagramm mit der angegebenen Seaborn-Figurgröße von 15 Zoll mal 8 Zoll erzeugt.
Fazit
Dieser Artikel hat eine umfassende Untersuchung verschiedener Methoden samt einiger Beispiele zum Festlegen der Figurgrößen von Seaborn-Diagrammen in Python geboten. Ob unter Verwendung der integrierten Parameter von Seaborn wie height und aspect, der Funktion matplotlib.pyplot.figure(), der Funktion matplotlib.pyplot.gcf() oder von matplotlib.pyplot.subplots() – jede Methode bietet einen einzigartigen Ansatz, um die visuelle Darstellung Ihrer Diagramme anzupassen.
Das Beherrschen dieser Techniken verbessert Ihre Fähigkeit, komplexe Informationen durch visuell eindrucksvolle Seaborn-Visualisierungen zu kommunizieren, ein Eckpfeiler der Datenwissenschaft.
Als nächster Schritt könnte die Erforschung fortgeschrittener statistischer Visualisierungen ein spannender Weg sein. Insbesondere das Vertiefen in das Thema Seaborn-Heatmaps für die Korrelationsanalyse könnte Ihre Fähigkeiten in der Datenvisualisierung verbessern.