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,毕竟方便很多。
更多参考:
https://www.cnblogs.com/wuzaipei/p/9471394.html
https://blog.csdn.net/syyyy712/article/details/87426927
https://zhuanlan.zhihu.com/p/111126228
https://www.cnblogs.com/chaoren399/p/5792168.html
https://blog.csdn.net/w113691/article/details/80385534
https://www.jb51.net/article/128549.htm
https://www.cnblogs.com/qi-yuan-008/p/12588351.html
https://blog.csdn.net/qq_37710333/article/details/108308155
https://blog.csdn.net/qq_23926575/article/details/80232440
https://jingyan.baidu.com/article/37bce2beb3c06f1002f3a22a.html
https://www.cnblogs.com/apple2016/p/9635061.html
https://blog.csdn.net/weixin_39932458/article/details/110769582
https://www.cnblogs.com/ag-chen/articles/13516759.html
https://blog.csdn.net/wuzlun/article/details/80059181
https://blog.csdn.net/cumtb2002/article/details/107791158
https://www.cnblogs.com/qccc/p/12819459.html
https://blog.csdn.net/u010358304/article/details/78906768
https://inkscape.org/release/inkscape-1.0.2/windows/64-bit/exe/dl/
https://www.cnblogs.com/two-peanuts/p/9948342.html
https://www.cnblogs.com/altlb/p/7160191.html
https://blog.csdn.net/guoxinian/article/details/80242353
https://blog.csdn.net/u014712482/article/details/80571938
https://blog.csdn.net/weixin_43336305/article/details/103635105
https://www.cnblogs.com/rrttp/p/8610263.html
https://blog.csdn.net/weixin_43183872/article/details/109965845
https://blog.csdn.net/weixin_43184354/article/details/107961150
https://www.cnpython.com/qa/245859
https://blog.csdn.net/qq_32454557/article/details/116986506
https://blog.csdn.net/weixin_34552961/article/details/112501916
https://www.yht7.com/news/87632
https://www.5axxw.com/questions/content/obtje6
https://www.cnblogs.com/shanyr/p/11153991.html
https://blog.csdn.net/weixin_40000999/article/details/110765716
https://blog.csdn.net/zuliang001/article/details/87904443
https://www.cnblogs.com/changbaishan/p/8454511.html
https://blog.csdn.net/az6116/article/details/102430700
https://www.jb51.net/article/128549.htm
https://www.cnblogs.com/qi-yuan-008/p/12588351.html
https://www.cnblogs.com/dengfaheng/p/12670150.html
https://blog.csdn.net/weixin_37988176/article/details/109421540
https://www.cnblogs.com/altlb/p/7160191.html