Python matplotlib图片转化成矢量图并裁剪
Python目前可以生成的图的格式是:eps, jpeg, jpg, pdf, pgf, png, ps, raw, rgba, svg, svgz, tif, tiff
在写论文时候我一般生成png,结果发现打印成PDF文件的时候非常模糊,其他的格式也基本试了下(我真闲),发现效果有差不多,最后网上找教程发现svg转成矢量图emf打印成PDF效果会比较好。
转换过程中由于自己电脑没有装ps,所以格式转换很麻烦,最后找到INKSCAPE(点击即可下载)这个软件可以很好的转换成矢量图。
看看对比效果:

但是,白边过大的问题也很严峻啊。因为Python生成的原始图是svg,带白边的,这个不知道怎么把它裁剪为不带白边的。
本打算用Python代码在生成的过程中去掉的,结果出来的效果不尽人意,破坏了图的协调感。
遂打算找个软件裁剪算了。
最后发现用INKSCAPE这个软件可以剪切,他不是说直接剪切,而是选中你的图(注意,这里好像是只要带框的都可以选中哦,很厉害的)拉倒画布大小,拉倒画布大小就相当于图没有margin了,等同于裁剪了。具体过程如下:
突然发现步骤记录器的文件不能传上来,扎心了。
总之就是多用鼠标左键会给你惊喜的。
Recorded Steps
This file contains all the steps and information that was recorded to help
you describe the recorded steps to others.
Before sharing this file, you should verify the following:
- The steps below accurately describe the recording.
- There is no information below or on any screenshots that you do not want
others to see.
Passwords or any other text you typed were not recorded, except for function
and shortcut keys that you used.
You can do the following:
Steps
Step 2: (2018/11/12 20:39:10) 用户在"新建文档 1 - Inkscape
(窗口)"上左键单击(在"新建文"中)
对于此步骤,没有保存任何屏幕截图。
Step 3: (2018/11/12 20:39:16) 用户在"inkscape.exe
(窗格)"上左键单击(在"ink"中)
对于此步骤,没有保存任何屏幕截图。
Step 4: (2018/11/12 20:39:18) 用户在"internet traffic
(列表项目)"上左键单击(在"选择要"中)
对于此步骤,没有保存任何屏幕截图。
Step 6: (2018/11/12 20:39:45) 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
Step 8: (2018/11/12 20:40:24) 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
Step 9: (2018/11/12 20:40:25) 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
Step 10: (2018/11/12 20:40:26) 用户在"internet traffic.svg - Inkscape
(窗口)"上左键双击(在"int"中)
Step 11: (2018/11/12 20:40:28) 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
Step 12: (2018/11/12 20:40:28) 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
Step 13: (2018/11/12 20:40:30) 用户在"internet traffic.svg - Inkscape
(窗口)"上左键双击(在"int"中)
Step 14: (2018/11/12 20:40:32) 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
Step 15: (2018/11/12 20:40:32) 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
Step 16: (2018/11/12 20:40:32) 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
Step 18: (2018/11/12 20:41:32) 用户在"internet traffic.svg - Inkscape
(窗口)"上鼠标拖动开始(在"int"中)
Step 19: (2018/11/12 20:41:38) 用户在"internet traffic.svg - Inkscape
(窗口)"上鼠标拖动结束(在"int"中)
Step 20: (2018/11/12 20:41:38) 用户在"*internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
Step 21: (2018/11/12 20:41:39) 用户在"*internet traffic.svg - Inkscape
(窗口)"上左键单击(在"*in"中)
Step 22: (2018/11/12 20:41:47) 用户在"*internet traffic.svg - Inkscape
(窗口)"上鼠标拖动开始(在"*in"中)
Step 23: (2018/11/12 20:41:55) 用户在"*internet traffic.svg - Inkscape
(窗口)"上鼠标拖动结束(在"*in"中)
Step 24: (2018/11/12 20:41:58) 用户在"*internet traffic.svg - Inkscape
(窗口)"上鼠标拖动开始(在"*in"中)
Step 25: (2018/11/12 20:41:59) 用户在"*internet traffic.svg - Inkscape
(窗口)"上鼠标拖动结束(在"*in"中)
Step 26: (2018/11/12 20:42:15) 用户在"*internet traffic.svg - Inkscape
(窗口)"上左键单击(在"*in"中)
Additional Details
The following section contains the additional details that were recorded.
These details help accurately identify the programs and UI you used in this
recording.
This section may contain text that is internal to programs that only very
advanced users or programmers may understand.
Please review these details to ensure that they do not contain any
information that you would not like others to see.
记录会话: 2018/11/12 20:38:58 - 20:42:56
记录的步骤: 31, 丢失的步骤: 0, 其他错误:
0
操作系统: 17134.1.amd64fre.rs4_release.180410-1804 10.0.0.0.2.121
步骤
1: 用户在"Inkscape (按钮)"上左键单击
程序: Windows 资源管理器, 10.0.17134.400
(WinBuild.160101.0800), Microsoft Corporation, EXPLORER.EXE,
EXPLORER.EXE
用户界面元素: Inkscape, 运行中的应用程序, MSTaskListWClass, 运行中的应用程序,
MSTaskSwWClass, ReBarWindow32, 任务栏, Shell_TrayWnd
步骤 2: 用户在"新建文档 1 -
Inkscape (窗口)"上左键单击(在"新建文"中)
程序: Inkscape vector graphics editor, 0.92.3,
Inkscape project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: 新建文档 1 - Inkscape,
gdkWindowToplevel
步骤 3: 用户在"inkscape.exe (窗格)"上左键单击(在"ink"中)
程序:
Inkscape vector graphics editor, 0.92.3, Inkscape project, INKSCAPE.EXE,
INKSCAPE.EXE
用户界面元素: inkscape.exe, gdkWindowTempShadow, 新建文档 1 - Inkscape,
gdkWindowToplevel
步骤 4: 用户在"internet traffic (列表项目)"上左键单击(在"选择要"中)
程序:
Inkscape vector graphics editor, 0.92.3, Inkscape project, INKSCAPE.EXE,
INKSCAPE.EXE
用户界面元素: internet traffic, 文件夹视图, SysListView32,
SHELLDLL_DefView, 选择要打开的文件, #32770, 新建文档 1 - Inkscape,
gdkWindowToplevel
步骤 5: 用户在"打开(O) (按钮)"上左键单击(在"选择要"中)
程序: Inkscape
vector graphics editor, 0.92.3, Inkscape project, INKSCAPE.EXE,
INKSCAPE.EXE
用户界面元素: 打开(O), Button, 选择要打开的文件, #32770, 新建文档 1 - Inkscape,
gdkWindowToplevel
步骤 6: 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 7: 用户注释: "注意:四周黑丝的箭头在现在这个地方"
程序:
用户界面元素:
步骤 8: 用户在"internet traffic.svg - Inkscape (窗口)"上左键单击(在"int"中)
程序:
Inkscape vector graphics editor, 0.92.3, Inkscape project, INKSCAPE.EXE,
INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 9: 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 10: 用户在"internet traffic.svg - Inkscape
(窗口)"上左键双击(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 11: 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 12: 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 13: 用户在"internet traffic.svg - Inkscape
(窗口)"上左键双击(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 14: 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 15: 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 16: 用户在"internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 17: 用户注释: "然后往你选择的地方多点击几次,发现选中了你要更改的区域,"
程序:
用户界面元素:
步骤 18: 用户在"internet traffic.svg - Inkscape
(窗口)"上鼠标拖动开始(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 19: 用户在"internet traffic.svg - Inkscape
(窗口)"上鼠标拖动结束(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 20: 用户在"*internet traffic.svg - Inkscape
(窗口)"上左键单击(在"int"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: *internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 21: 用户在"*internet traffic.svg - Inkscape
(窗口)"上左键单击(在"*in"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: *internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 22: 用户在"*internet traffic.svg - Inkscape
(窗口)"上鼠标拖动开始(在"*in"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: *internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 23: 用户在"*internet traffic.svg - Inkscape
(窗口)"上鼠标拖动结束(在"*in"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: *internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 24: 用户在"*internet traffic.svg - Inkscape
(窗口)"上鼠标拖动开始(在"*in"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: *internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 25: 用户在"*internet traffic.svg - Inkscape
(窗口)"上鼠标拖动结束(在"*in"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: *internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 26: 用户在"*internet traffic.svg - Inkscape
(窗口)"上左键单击(在"*in"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: *internet traffic.svg - Inkscape,
gdkWindowToplevel
步骤 27: 用户在"inkscape.exe (窗格)"上左键单击(在"ink"中)
程序:
Inkscape vector graphics editor, 0.92.3, Inkscape project, INKSCAPE.EXE,
INKSCAPE.EXE
用户界面元素: inkscape.exe, gdkWindowTempShadow, *internet traffic.svg
- Inkscape, gdkWindowToplevel
步骤 28: 用户在"保存类型(T):
(组合框)"上左键单击(在"选择要"中)
程序: Inkscape vector graphics editor, 0.92.3, Inkscape
project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: 保存类型(T):, ComboBox, 选择要保存的文件,
#32770, *internet traffic.svg - Inkscape, gdkWindowToplevel
步骤 29:
用户在"增强型图元文件 (*.emf) (列表项目)"上左键单击
程序: Inkscape vector graphics editor, 0.92.3,
Inkscape project, INKSCAPE.EXE, INKSCAPE.EXE
用户界面元素: 增强型图元文件 (*.emf),
保存类型(T):, ComboLBox, 保存类型(T):, ComboBox, 选择要保存的文件, #32770, *internet traffic.svg
- Inkscape, gdkWindowToplevel
步骤 30: 用户在"保存(S) (按钮)"上左键单击(在"选择要"中)
程序:
Inkscape vector graphics editor, 0.92.3, Inkscape project, INKSCAPE.EXE,
INKSCAPE.EXE
用户界面元素: 保存(S), Button, 选择要保存的文件, #32770, *internet traffic.svg -
Inkscape, gdkWindowToplevel
步骤 31: 用户在"EMF 输出 (窗口)"上左键单击(在"EMF"中)
程序:
Inkscape vector graphics editor, 0.92.3, Inkscape project, INKSCAPE.EXE,
INKSCAPE.EXE
用户界面元素: EMF 输出, gdkWindowToplevel, *internet traffic.svg -
Inkscape, gdkWindowToplevel
Return to top of page...
Python matplotlib图片转化成矢量图并裁剪的更多相关文章
- python将图片转化为字符图
最近看到将图片转化为字符图的小实验,我觉得很有趣,所以决定自己实现一下. 步骤和原理如下: 读取图片的灰度值矩阵(0-255之间),灰度值矩阵主要反映的是图片的黑白程度,越黑越接近与0,越白越接近于2 ...
- 怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图?
分类: OpenCV [Q1]怎么样用opencv将彩色图片转化成像素值只有0和255的灰度图? 进行灰度化,IplImage* pImg = cvLoadImage( "C:\\1.b ...
- HTML5将图片转化成字符画
HTML5将图片转化成字符画 字符画大家一定非常熟悉了,那么如何把一张现有的图片转成字符画呢?HTML5让这个可能变成了现实,通过canvas,可以很轻松实现这个功能.其实原理很简单:扫描图片相应位置 ...
- OprenCV学习之路一:将彩色图片转换成灰度图
//将一张彩色图片转成灰度图: //////////////////////////// #include<cv.h> #include<cvaux.h> #include&l ...
- 如何用python将一个时间序列转化成有监督学习
机器学习可以被用于时间序列预测. 在机器学习能使用之前,时间序列预测需要被重新转化成有监督学习.将一个序列组合成成对的输入输出序列. 在这篇教程中,你会发现如何通过使用机器学习算法将单变量和多变量的时 ...
- Matlab 如何/怎样 读取图片 显示图片 转换成灰度图
% 读取图片 im = imread('路径') >> im = imread('ny.png'); % 显示图片 imshow(im) >> imshow(im) % 转换成 ...
- python将文本转化成语音并播放
一.问题 在学习的过程中,我们会涉及到将文本信息,转化成语音的过程,比如:我爬取了一个小说的网站,我要将里面的内容进行语音处理.目前能够进行语音的方法还是很多,比如win32com,百度ai. 二.解 ...
- 基于 canvas 将图片转化成字符画
字符画大家一定非常熟悉了,那么如何把一张现有的图片转成字符画呢? HTML5 让这个可能变成了现实,通过 canvas,可以很轻松实现这个功能. 其实原理很简单:扫描图片相应位置的像素点,再计算出其灰 ...
- 基于canvas将图片转化成字符画
字符画大家一定非常熟悉了,那么如何把一张现有的图片转成字符画呢?HTML5让这个可能变成了现实,通过canvas,可以很轻松实现这个功能.其实原理很简单:扫描图片相应位置的像素点,再计算出其灰度值,根 ...
随机推荐
- 映像文件工具srec
目录 映像文件工具srec 介绍与帮助 常用例子 常用选项 一个实际的例子 hex转bin 数据填充 文件合并 文件分割 加入CRC 查看信息 使用命令集合的文本 详细文件格式的描述 附录:MDK的例 ...
- Oracle Database 10g安装
前言 oracle_10g_32位的安装包 链接:https://pan.baidu.com/s/1v1ZWYSjWLzKo3GnDuV5nrg 密码:88yd PLSQL Developer 32位 ...
- 查找命令which、whereis、locate
1.find 最常用和最强大的查找命令.它能做到实时查找,精确查找,但速度慢. find的使用格式如下: $ find [指定目录] [指定条件] [指定动作] 指定目录:是指所要搜索的目录和其子 ...
- django - 总结 - 跨域请求
script ->jsonp跨域 浏览器的同源策略:不能跨越网站请求信息: XMLHttpRequests遵循这个规定. 因此ajax等基于XML的都不能进行跨站请求 而我们知道img,ifra ...
- table 表格固定表头和第一列、内容可滚动
整理了下: <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" c ...
- ps常用指令集
M DCtrl+ D清空选择区域Ctrl+ R调出标尺
- bootstrap的tree控件
地址:http://runjs.cn/detail/xtte94ls http://runjs.cn/code/xtte94ls
- Lua“控制”C
[前言] Lua语言本身是一个功能非常有限,而比较单调的语言,而且标准库也非常的平庸,它的NB之处就在于,它能和C.C++等高级语言完美“私通”.我们可以使用C.C++语言去给Lua写一个完美的库,让 ...
- setTimeout 第三个参数秒懂
好吧,假设你们都是从 ES6 里 promise 发现 setTimeout 还有第三个参数的,下面讲讲到底是干嘛的 setTimeout 第三个及之后的参数作用:定时器启动时候,第三个以后的参数是作 ...
- ionic3 安卓硬件返回
platform.ready().then(() => { this.platform.registerBackButtonAction(() => { let activePortal ...