在 Python 中儲存 Seaborn 影象
Manav Narula
2021年4月29日
Seaborn
Seaborn Save

在本教程中,我們將討論如何在外部檔案中儲存一個 seaborn 影象。
我們將使用 matplotlib.pyplot.savefig()
函式,該函式可以將其匯出到外部檔案。
我們需要在函式本身中指定檔名及其格式和檔案路徑。
例如,
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")
我們可以指定其他檔案格式,例如 jpeg
、png
等。我們還可以將圖以非影象格式(例如 PDF)儲存。
我們還可以使用不同的引數來自定義最終圖形。
例如,我們可以在函式中指定 dpi
引數。dpi
表示每英寸點數,因此更高的值將導致最終影象的解析度更高。
例如,
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)
如果需要,可以使用 orientation
引數更改方向。方向預設為 portrait
。
在下面的程式碼中,我們將最終圖形儲存為橫向。
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")
可用的其他引數包括 transparent
, frameon
, facecolor
, edgecolor
,為最終匯出的圖形提供更多自定義設定。
請注意,對於最新版本的 seaborn,直接使用 savefig()
函式可能會在某些繪圖上產生錯誤。在這種情況下,我們還應該使用 get_figure()
函式。此函式獲取所需圖形的例項,然後我們可以使用 savefig()
函式將其匯出。
下面的程式碼演示了這一點。
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")
Enjoying our tutorials? Subscribe to DelftStack on YouTube to support us in creating more high-quality video guides. Subscribe
作者: Manav Narula
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