在 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")
Author: 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