Matplotlib基础(3):图片存储格式及参数设置
初步小结一下图形保存本地的常用设置(可用于论文出图),通过参数设置可以输出非常高质量清晰的且长宽格式的图片或pdf文件,主要介绍png、svg及pdf格式,以A4纸的宽度21cm或一半10cm为例测试。对于具体图形、文字、线条等尺寸的大小控制及文件格式可见上篇。
需要说明的是,这一步是fig.save(),即保存画布的步骤,这时已经无法再调画布上的ax的图形,通常只能调节:
- 画布的背景颜色facecolor、边框颜色edgecolor
- 图形四周默认的空白间距pad_inches,精细调节则bbox_inches,,多个ax的紧凑程度bbox_inches
- 保存文件的文件格式及路径、清晰度dpi
常规出图png即可,论文成图简单可png,较复杂细节多的可出无损矢量图svg eps或pdf,此外svg格式的结果可以在Adobe Illustrator中调节,下文简单介绍。(地图保存也可以输出问svg或pdf,ArcMap&QGIS均可)
1 | import matplotlib as mpl |
1 | #0.5代表1.27cm的间距 |
出图对比
出图举例:此处目的是展示出图,从官网拉两张图拼接示意f1,f2,导入模块,修改路径运行代码
1 | fig, (ax1, ax2) = plt.subplots(nrows =1 ,ncols=2, figsize=(21*cm,10*cm), facecolor='w') |
png
结果图,置入word刚好合适,四周边距还可以根据要求调整
细节矢量图svg
使用浏览器打开即可预览,或者可以打开AI,进行进一步地拼图或调整图层等操作
细节矢量图pdf
如下图,按设定画布固定大小的pdf,其实期刊论文的发表附图都要求使用pdf等矢量格式,因为高清无损!正文不方便,但在论文支撑材料/附件中可以生成PDF最后拼接即可。
多页pdf
单个figure保存至pdf,比如我这里绘制了一幅6行3列的组图,保存为一页pdf文件,当然也可以直接保存为png或其他格式:
1 | save_pdf = "./figure/test.pdf" |
多个figure保存为多页pdf,PdfPages
:
1 | import pandas as pd |