rxd的个人博客分享 http://blog.sciencenet.cn/u/rxd

博文

Python绘制可插入Word的高清矢量图(SVG转EMF)

已有 13330 次阅读 2019-9-2 19:03 |个人分类:python|系统分类:科研笔记| python, 矢量图, 论文图, python

Python具有强大的绘图功能。在科学论文中通常需要矢量图,而且如果能方便的插入到word中更好。Python中自带的绘图库matplotlib可以将图保存成svg格式,但是我通常喜欢使用emf的矢量格式图。

通过Python脚本调用inkscape将svg图轻松转换成emf图。步骤如下:

  1. 首先安装inkscape软件,然后配置环境变量

    根据自己电脑的系统下载所需要的版本:

    下载地址:https://inkscape.org/release/inkscape-0.92.4/

    TIM图片20190902125317.png

  2. 使用python绘图,并调用inkscape 将svg转换成emf图。

    下面代码中,子函数plot_as_emf,即为将svg图转换成emf图。复制下述代码,记得修改自己的inkscape.exe的安装目录。

     TIM图片20190902125628.png

转换函数,复制到自己的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)



https://wap.sciencenet.cn/blog-730445-1196366.html

上一篇:最新版IGS/GNSSS数据产品批量下载软件 Ider V1.2
下一篇:Python安装basemap教程
收藏 IP: 138.246.2.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-30 07:23

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部