1. 保存设置:plt.savefig(fname.svg, dpi=None)
# 方法一:
plt.savefig("图片名.svg",dpi=设置值)
# 如 .png .svg .jpg 或 .pdf,
# 包含的参数
plt.savefig(fname, dpi=None, facecolor='w', edgecolor='w',
orientation='portrait', papertype=None, format=None,
transparent=False, bbox_inches=None, pad_inches=0.1,
frameon=None, metadata=None)
# bbox_inches='tight', 指定将图表多余的空白区域裁减掉。若要保留图表周围多余的空白区域,可省略这个实参。
# transparent=True,生成背景透明的图片
# 方法二:获取图像、保存图像。
fig = sns.barplot(x) # 原绘制的图形
figure1 = fig.get_figure() # 获取图形
figure1.savefig(fig_path, dpi = 300) # 保存图形,设置路径,
# dpi = 300, dpi为每英寸点数(dots per inch)。dpi 值越高,分辨率越高,图片就越清晰。
方法一最方便好用。Matplotlib & Seaborn均适用。
2. 补充: 图像显示问题
plt.ion() # 将 figure 设置为交互模式,figure 不用 plt.show() 也可以显示。
plt.ioff() # 将 figure 设置为阻塞模式,也是 figure 的默认模式,figure 必须用 plt.show() 才能显示。
plt.show() # 只有关闭一个figure,才会出现下一个figure。最后设置 plt.show(),则会显示设置的所有figure。
plt.ioff() # 开启阻塞模式
plt.figure() # 此时没有显示窗口
plt.ion() # 开启交互模式
plt.figure() # 此时显示窗口,并且弹出的窗口名称应该是“Figure2”,就好像plt.show()已经内置到plt.figure()中一样
plt.show() # 此时会将所有窗口全部显示,并且是按照刚才创建的顺序显示的Figure2在Figure1上层
补充内容参考:
Python -- matplotlib:plt.ion()、plt.ioff()、plt.show()三者的关系、用法及其代码尝试
关于Python的第三方库Matplotlib中plt.ion() & plt.ioff() & plt.savefig()函数的使用方法记录