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,可以很轻松实现这个功能.其实原理很简单:扫描图片相应位置的像素点,再计算出其灰度值,根 ...
随机推荐
- 寒冬之下,移动开发没人要了? 浅谈 iOS 开发者该 何去何从?
前言: 作者 | 梅梅 文章来源 CSDN 对于移动互联网而言,2018 年像是球场上的一声裁判哨.哨声响起,高潮迭起的上半场结束.本该再创辉煌的下半场,还没开赛却被告之:规则改变.场地收缩.教 ...
- solr的基础和安装
下载地址 http://archive.apache.org/dist/lucene/solr/ 推荐 http://www.apache.org/dyn/closer.lua/lucene/so ...
- Ubuntu设置和查看环境变量
设置环境变量的三种方法 1.1 临时设置 export PATH=/home/yan/share/usr/local/arm/3.4.1/bin:$PATH 1.2 当前用户的全局设置 打开~/.ba ...
- Android Studio生成签名文件,自动签名,以及获取SHA1和MD5值
转载请标明出处:http://blog.csdn.net/donkor_/article/details/53487133 前言: 作为谷歌在2013年为开发者提供的IDE环境工具Android St ...
- 高并发秒杀系统--SpringMVC整合
[SpringMVC运行流程] [Handler注解映射技巧] [请求方法的细节处理] 1.如何处理请求参数和方法参数的绑定? 2.如何限制方法接收的请求方式? 3.如何进行请求转发和重定向? 4.如 ...
- idea+maven+ssm搭建boot_crm项目遇到的问题
使用idea+maven+ssm搭建一个boot_crm项目,遇到的问题如下: 1.环境搭建好了,相关配置文件都配置好了,也部署到了tomcat,但是无法启动首页. 通过百度,google找到了,原因 ...
- Concurrent下的线程安全集合
1.ArrayBlockingQueue ArrayBlockingQueue是由数组支持的线程安全的有界阻塞队列,此队列按 FIFO(先进先出)原则对元素进行排序.这是一个典型的“有界缓存区”,固定 ...
- jS处理中英文时间格式化问题
// datebox里面日期格式化,i18nStr是当前国际化的日期格式,fdate是需要处理的时间,默认为当前时间 function formatDate(i18nStr,fdate) { var ...
- 【easy】110. Balanced Binary Tree判断二叉树是否平衡
判断二叉树是否平衡 a height-balanced binary tree is defined as a binary tree in which the depth of the two su ...
- Python-Django 模型层-多表查询
多表操作 基于对象的跨表查询(多次查询) 一对一: -正向查询按字段 -反向查询按表名小写 一对多: -正向查询按字段(正向查询一定会查出一个来) -反向查询按表名小写_set.all()(返回结果是 ...