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,可以很轻松实现这个功能.其实原理很简单:扫描图片相应位置的像素点,再计算出其灰度值,根 ...
随机推荐
- Null component Catalina
"严重: Null component Catalina:type=JspMonitor,name=jsp,WebModule="错误的解决办法 在MyEclipse10环境下启动 ...
- es6常用的
常用: let关键字: 1. 作用: * 与var类似, 用于声明一个变量2. 特点: * 在块作用域内有效 * 不能重复声明 * 不会预处理, 不存在提升3. 应用: * 循环遍历加监听 * 使用l ...
- 一文学会matplotlib
matplotlib基础 “““ 假设一天中每隔两个小时(range(2,26,2))的气温(℃)分别是[15,13,14.5,17,20,25,26,26,27,22,18,15] 用matplot ...
- 网页三剑客之HTML
Web服务本质 import socket def handle_request(client): request_data = client.recv(1024) print(request_dat ...
- CopyOnWriteArrayList真的完全线程安全吗
我之前书上看到的说法是:Vector是相对线程安全,CopyOnWriteArrayList是绝对线程安全 这种说法其实有些问题,CopyOnWriteArrayList在某些场景下还是会报错的 Co ...
- HDU 1426(数独 DFS)
题意是完成数独. 记录全图,将待填位置处填 0,记录下所有的待填位置,初始化结束.在每个待填位置处尝试填入 1 - 9,若经过判断后该位置可以填入某数字,则继续向下填下一个位置, 回溯时把待填位置重新 ...
- maven私库nexus2.11.4迁移升级到nexus3.12.0
nexus简介 nexus是一个强大的maven仓库管理器,它极大的简化了本地内部仓库的维护和外部仓库的访问. nexus是一套开箱即用的系统不需要数据库,它使用文件系统加Lucene来组织数据 .n ...
- 学习熟悉箭头函数, 类, 模板字面量, let和const声明
箭头函数:https://blog.csdn.net/qq_30100043/article/details/53396517 类:https://blog.csdn.net/pcaxb/articl ...
- L1-Day1
L1-Day11.我是一个网虫.(描述关系)[我的翻译]I am a net worm.[标准答案]I am a webaholic.[对比分析]我的worm是实实在在的虫子,本句话想表达的意思是对网 ...
- 20175204 张湲祯 2018-2019-2《Java程序设计》 第一周学习总结
20175204 张湲祯 2018-2019-2<Java程序设计>第一周学习总结 教材学习内容总结 -第一章Java入门要点: -Java的地位:具有面向对象,与平台无关,安全稳定和多线 ...