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,可以很轻松实现这个功能.其实原理很简单:扫描图片相应位置的像素点,再计算出其灰度值,根 ...
随机推荐
- 不得不用的提高效率小技巧让你用Mac更顺手| Mac小技巧(三)
文章内容及图片来源于:知乎,如果涉及版权问题,请联系作者删除 文章收录于:风云社区(提供上千款各类mac软件的下载) 1. 用预览给GIF删帧 我们在给文章配图或者做表情包的过程中,常需要截取 GIF ...
- Ajax与JSON共同使用的小实例
实现的效果: 点击“点击”按钮,可以通过Ajax从服务器调过来相应的文档文件,而不需重新加载页面. 通过json可以将调过来的文档(String)转换为相应的json对象,从而对文档中数据进行操作. ...
- Python常用模块-时间模块
在写代码的过程中,我们常常需要与时间打交道,在python中,与时间处理有关的模块有time,datetime和calendar.,这里主要介绍time和datetime模块 在python中,表示时 ...
- Docker: 基础介绍 [一]
一.Docker介绍 Docker是Docker.lnc公司开源的一个基于LXC技术之上构建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源 Do ...
- Form -- 文件上传
当我们选中文件,点击上传时即可. 而此按钮一般是一张图片覆盖了一个input标签而以.基于这个原理我们可以定制自己喜欢的样式 <div style="text-align: cente ...
- [物理学与PDEs]第2章第4节 激波 4.1 间断连接条件
1. 守恒律方程 $$\bex \cfrac{\p f}{\p t}+\cfrac{\p q}{\p x}=0 \eex$$ 在间断线上应满足 ``间断连接条件'': $$\bex [f]\cfra ...
- sonarqube6.7部署文档
应用介绍:sonarqube是一个用于代码质量管理的开源平台,用于管理源代码的质量通过插件形式:可以支持包括Java.C#/C++.PL/SQL.Cobol.javascrip.Groovy等等二十几 ...
- Django的项目创建,以及该端口号,语言随地区而变化
注:myway是项目的名称创建项目:cd wwwdjango-admin startproject mywaycd mywaypython manage.py runserver 如果想改Django ...
- python 三大框架之一Django入门
Django 是从真实世界的应用中成长起来的,它是由 堪萨斯(Kansas)州 Lawrence 城中的一个 网络开发小组编写的. 它诞生于 2003 年秋天,那时 Lawrence Journal- ...
- Django之auth模块
http://www.cnblogs.com/liwenzhou/p/9030211.html 1.首先导入auth模块 from django.contrib import auth 2.创建aut ...