Python Seaborn-Figur speichern

Manav Narula 24 Juni 2021
Python Seaborn-Figur speichern

In diesem Tutorial werden wir diskutieren, wie eine seegeborene Figur in einer externen Datei gespeichert wird.

Wir werden die Funktion matplotlib.pyplot.savefig() verwenden, die es in eine externe Datei exportieren kann.

Wir müssen den Dateinamen zusammen mit seinem Format und dem Pfad der Datei in der Funktion selbst angeben.

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.savefig("filename.png")

Wir können andere Dateiformate wie jpeg, png und mehr angeben. Wir können den Plot auch in Nicht-Bildformaten wie PDF speichern.

Wir können die endgültige Zahl auch mit verschiedenen Argumenten anpassen.

Zum Beispiel können wir das Argument dpi in der Funktion angeben. Das dpi bedeutet Punkte pro Zoll, sodass ein höherer Wert zu einer höheren Auflösung des endgültigen Bildes führt.

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.savefig("filename.png", dpi=300)

Wenn wir möchten, können wir die Ausrichtung mit dem Parameter orientation ändern. Die Ausrichtung ist standardmäßig “Hochformat”.

Im folgenden Code speichern wir die endgültige Figur im Querformat.

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.savefig("filename.png", orientation="horizontal")

Weitere verfügbare Argumente sind transparent, frameon, facecolor und edgecolor. Sie bieten weitere Anpassungen für die endgültig exportierte Figur.

Beachten Sie, dass bei neueren Versionen von seaborn die direkte Verwendung der Funktion savefig() bei einigen Plots zu Fehlern führen kann. In solchen Fällen sollten wir auch die Funktion get_figure() verwenden. Diese Funktion ruft die Instanz der erforderlichen Abbildung ab und kann sie dann mit der Funktion savefig() exportieren.

Der folgende Code demonstriert dies.

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]}
)

splot = sns.lineplot(data=df)
sfig = splot.get_figure()
sfig.savefig("filename.png", orientation="landscape")
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