python之matplotlib矢量图svg emf

 更新时间:2023年09月15日 08:47:37   作者:richardxp888  
这篇文章主要介绍了python之matplotlib矢量图svg emf,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

python matplotlib矢量图svg emf

由于要用word写论文,插入图片需要矢量图格式 emf ,那么首先,要利用matplotlib画矢量图 svg 格式。

import matplotlib.pyplot as plt
def plot_learning_curve(X_train, X_valid, y_train, y_valid):
    plt.plot([i for i in range(1, len(X_train) + 1)], y_train, label='Train')
    plt.plot([i for i in range(1, len(X_train) + 1)], y_valid, label='Valid')
    plt.legend()
    plt.axis([0, len(X_train) + 1, 0, 20])
    plt.savefig("test.svg", format="svg")

先利用上述代码,生成 svg 格式的矢量图,然后再使用在线网站转化为word能用的矢量图格式 emf

在线网站转换图片格式

常用的图片格式解释:

  • fig :matlab 默认的图片保存格式,在其他软件上一般不可用,可视为矢量图。
  • eps : 矢量图,适用于 LaTex。
  • svg :指可伸缩矢量图形 (Scalable Vector Graphics)
  • emf :矢量图,适合 Word。
  • jpg :位图,很古老的图片格式,同时也几乎是最常用的图片格式。
  • bmp :位图,未压缩。
  • pdf :直接输出为 pdf。
  • png :位图,无损压缩

使用python制作矢量图

Get一个使用python制作矢量图的新技能:

Matplotlib远比我们想象的强大,而这只是众多python强大的包中的一个,不愧是群英荟萃。

绘图后端我们一般是看不见的,matplotlib有两种后端:

用户界面后端(用于pygtk、wxpython、tkinter、qt4或macosx;也称为“交互式后端”)和硬拷贝后端制作图像文件(PNG, SVG, PDF, PS;也称为“非交互式后端”)即Renderer。

介绍具体如下表:

在这里插入图片描述

对于渲染引擎(renderer),还可以区分矢量渲染器(vector)和光栅渲染器(raster)。矢量图形语言发出“从这一点画一条线到这一点”这样的绘图命令,因此是无标度的,光栅后端生成直线的像素表示,其精度取决于DPI设置。

  • 可以看到位图后端有1种:AGG、
  • 矢量图的后端有3种:PS、PDF、SVG
  • 还有一个同时支持两者的:Cairo

今天我们试一下SVG

正文:

代码其实很简单:

第一步

注意顺序,设置后端参数必须在引入pyplot之前。

import matplotlib
matplotlib.rcParams['backend'] = 'SVG'
import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.savefig('kankan.svg',format='svg')

在相应目录将会生成kankan.svg文件。

第二步

上述文件一般无法直接打开,需要使用相应的软件,我用的是Inkscape,百度一下下载安装即可。

文件–>打开,选定第一步保存的文件,打开后如下图:

第三步

如果对图片没有其他编辑需求,直接另存为:增强型图文文件:*.emf

随后就可以在word或者ppt中将保存好的emf图片插入。

对比一下直接保存png图片和emf文件:

左边是emf图元文件,右边是png。可以吧,矢量图永远都不会模糊,尤其在放大的情况下,优势更明显。

当然,一般情况只要png能满足我们的需求那么就用png,毕竟方便很多。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • python+opencv实现的简单人脸识别代码示例

    python+opencv实现的简单人脸识别代码示例

    这篇文章主要介绍了图像识别 python+opencv的简单人脸识别,具有一定参考价值,需要的朋友可以参考下。
    2017-11-11
  • python对json的相关操作实例详解

    python对json的相关操作实例详解

    这篇文章主要介绍了python对json的相关操作,结合实例形式详细分析了json的概念、功能以及Python针对json的解析、输出、排序、转换等操作技巧,需要的朋友可以参考下
    2017-01-01
  • python实现plt x轴坐标按1刻度显示

    python实现plt x轴坐标按1刻度显示

    这篇文章主要介绍了python实现plt x轴坐标按1刻度显示,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-07-07
  • Python的IDEL增加清屏功能实例

    Python的IDEL增加清屏功能实例

    下面小编就为大家带来一篇Python的IDEL增加清屏功能实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • pygame实现贪吃蛇小游戏

    pygame实现贪吃蛇小游戏

    这篇文章主要为大家详细介绍了pygame实现贪吃蛇小游戏,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-01-01
  • 8个Python必备的PyCharm插件(附下载地址)

    8个Python必备的PyCharm插件(附下载地址)

    Python是一种广泛使用的编程语言,PyCharm是最受欢迎的Python IDE之一,本文就来介绍一下8个Python必备的PyCharm插件,具有一定的参考价值,感兴趣的可以了解一下
    2024-01-01
  • 详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法

    详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法

    这篇文章主要介绍了详细整理python 字符串(str)与列表(list)以及数组(array)之间的转换方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-08-08
  • python机器学习MATLAB最小二乘法的两种解读

    python机器学习MATLAB最小二乘法的两种解读

    这篇文章主要为大家介绍了python机器学习中MATLAB最小二乘法的两种解读方式,有需要的朋友可以借鉴参考下希望能够有所帮助
    2022-02-02
  • 利用Python将txt文件录入Excel表格的全过程

    利用Python将txt文件录入Excel表格的全过程

    Python具有基本的文本文件读写功能,Python的标准库提供有更丰富的读写功能,下面这篇文章主要给大家介绍了关于如何利用Python将txt文件录入Excel表格的相关资料,需要的朋友可以参考下
    2021-11-11
  • 手把手教你用Django执行原生SQL的方法

    手把手教你用Django执行原生SQL的方法

    这篇文章主要介绍了手把手教你用Django执行原生SQL的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-02-02

最新评论