使用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,毕竟方便很多。

  • 16
    点赞
  • 80
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值