|||
Python具有强大的绘图功能。在科学论文中通常需要矢量图,而且如果能方便的插入到word中更好。Python中自带的绘图库matplotlib可以将图保存成svg格式,但是我通常喜欢使用emf的矢量格式图。
通过Python脚本调用inkscape将svg图轻松转换成emf图。步骤如下:
首先安装inkscape软件,然后配置环境变量
根据自己电脑的系统下载所需要的版本:
下载地址:https://inkscape.org/release/inkscape-0.92.4/
使用python绘图,并调用inkscape 将svg转换成emf图。
下面代码中,子函数plot_as_emf,即为将svg图转换成emf图。复制下述代码,记得修改自己的inkscape.exe的安装目录。
转换函数,复制到自己的python代码中即可:
def plot_as_emf(figure, **kwargs):
inkscape_path = kwargs.get('inkscape', "D:\Software\Inkscape\inkscape.exe")
filepath = kwargs.get('filename', None)
if filepath is not None:
path, filename = os.path.split(filepath)
filename, extension = os.path.splitext(filename)
svg_filepath = os.path.join(path, filename+'.svg')
emf_filepath = os.path.join(path, filename+'.emf')
figure.savefig(svg_filepath, format='svg')
subprocess.call([inkscape_path, svg_filepath, '--export-emf', emf_filepath])
os.remove(svg_filepath)
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-27 11:03
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社