在 Python 中儲存 Seaborn 影象
Manav Narula
2021年4月29日
在本教程中,我們將討論如何在外部檔案中儲存一個 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")
作者: 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