matlab图形矢量化解决方案
大致思路:matlab中生成矢量格式文件-导入Visio中-编辑-导出合适格式-在其他软件中使用
准备工具
- Matlab 2014b或更高版本
- Visio 2007或更高版本
我查看过,Matlab能够输出的矢量化文件大概有*.svg、*.eps、*.pdf三种,但是这三种中,Visio能够打开的只有*.svg。之所以选择Visio,是因为画示意图来说,Visio基本算得上是比较好的选择了。
技术基础
简单的Matlab编程能力(目测你一天就能学会的Matlab知识,差不多就够用)
理论基础
理论基础就直接参看周建锋老师的博文好了:http://blog.sciencenet.cn/blog-3854-760545.html
绘制图像
下面以一个简单的图像示例来表示:
clc;clear ;close all
x = 0 : 0.05 : 10;
y1 = sin(x);
y2 = cos(x);
plot(x, y1, 'LineWidth',2)
hold on
plot(x, y2, 'LineWidth', 2)
legend('Line1','Line2','Location','best') % 加图例,并将之放在最好的Location
axis auto
set(gca,'FontSize',14,'LineWidth', 1,'FontName', 'Times New Roman')
set(gcf,'Position',[400 100 800 600]);
if ~exist('./example.svg','file') % 判断文件是否存在
saveas(gcf,'./example.svg')
end
得到的图像大致如下:

检查matlab当前的工作路径下,已经有了一个example.svg的文件。将这个文件在Visio中打开。
更简单一点的打开方式是:新建Visio文件,直接讲example.svg拖入Visio中。
我们知道,*.svg是网络通用的矢量图形格式,很多软件中都能直接打开的,最明显的软件当然是各种浏览器了,比如IE。
在上面的代码中,exist('./example.svg','file')是判断matlab的当前目录下文件example.svg是否存在,如果存在就不再生成example.svg 了,避免多次重复生成。但是如果你的图形需要更新,记得删除之前生成的版本。
在Matlab中,另外一种生成*.svg格式的方式是直接在图形窗口->file->save as...->save as type栏选择svg格式即可保存为*.svg格式的文件。当然,你需要自己命名一个文件名。
Visio中打开
在Visio中打开之后,我们大致会得到这样的图形,可以看到,很清晰,矢量化的。

同时,也很明显,它是高度组合化的。
所以,我们需要将之解组合。
接下来按照步骤:
1. 选择图形(点击图形or按ctrl+A也行)
2. 点击home下的group
3. 点击解组合(ungroup)
4. 再次重复动作2和3,两次。也就是说说总共需要解组合三次。
下面两张图作为指引。

group功能

解组合功能
在Visio中的后处理
图形在Visio中打开之后便可以生成为其他的图形格式或者直接将visio文件插入word中即可。
删除白色底纹
解组合之后,图形下层会有一些白色底矩形,可以将之删除,使图形透明。如下图所示,左下角和右上角的两块矩形分别是原来图形的曲线画布区域和整个图形画布区域的底纹图形填充方块。

查看图形元素
当我们选择自由曲线工具之后,在点击图形中的Line2曲线,可以看到,实际上Line2曲线是由自由曲线通过控制很多的节点来实现cos函数图形的绘制的。这也可以让我们反向思考matlab底层的绘制函数时怎么实现曲线的绘制的。

修改元素
在Visio中,我们可以选择任何的元素来进行修改,也可以在上面增加或删除任何的元素。这给我们修饰图形方面有了巨大的空间(当然不能进行数据修改以此来发文章)。

原文地址:http://www.cnblogs.com/cyruszhu/p/5477569.html
未经允许,禁止转载!相关请求,请联系作者:yunruizhu@126.com
matlab图形矢量化解决方案的更多相关文章
- HT全矢量化的图形组件设计
HT一直被客户称道的就是其全矢量化的设计特色,矢量相比传统图片好处太多了: 矢量可无级缩放,界面不失真不模糊 描述矢量的文本内容远比图片小得多 目前各种window.devicePixelRatio不 ...
- Deep Learning 2_深度学习UFLDL教程:矢量化编程(斯坦福大学深度学习教程)
1前言 本节主要是让人用矢量化编程代替效率比较低的for循环. 在前一节的Sparse Autoencoder练习中已经实现了矢量化编程,所以与前一节的区别只在于本节训练集是用MINIST数据集,而上 ...
- MATLAB学习笔记(十)——MATLAB图形句柄
(一)图形对象及其句柄 一.图形对象 MATLAB图形对象包括: 1.MATLAB每一个具体图形一定包括计算机屏幕和图形窗口两个对象 二.图形对象句柄 1.定义 MATLAB在创建每一个图形对象时,都 ...
- python中numpy对函数进行矢量化转换
在对numpy的数组进行操作时,我们应该尽量避免循环操作,尽可能利用矢量化函数来避免循环. 但是,直接将自定义函数应用在numpy数组之上会报错,我们需要将函数进行矢量化转换. def Theta(x ...
- 【转】MATLAB图形句柄(二)
MATLAB图形句柄 1.1 图形对象及其句柄 1.2 图形对象属性 1.3 图形对象的创建 1.1 图形对象及其句柄 1.图形对象 MATLAB的图形对象包括计算机屏幕.图形窗口.坐标轴 ...
- 使用ArcGIS Earth矢量化高精度的数据(kml转图层转shp/要素类)
大家好,这次来分享干货.做地理分析的同学,或者需要使用地图却不知道哪里有精度较高矢量数据(如校园图)的时候,怎么办呢? 我们知道ArcGIS提供了精度较高的全球影像图,基于此,可以自己进行矢量化,然后 ...
- 网页静态化解决方案-Freemarker demo+语法
1.网页静态化技术Freemarker 1.1为什么要使用网页静态化技术 网页静态化解决方案在实际开发中运用比较多,例如新闻网站,门户网站中的新闻频道或者是文章类的频道. 对于电商网站的商品详细页来说 ...
- BroadcastReceiver插件化解决方案
--摘自<android插件化开发指南> 1.静态广播和动态广播仅区别于注册方式的不同.静态广播的注册信息保存在PMS中,动态广播的注册信息保存在AMS中 2.发送广播,也就是Contex ...
- Matlab图形调色
Matlab图形调色 Simple example var colormap = require('colormap') options = { colormap: 'jet', // pic ...
随机推荐
- 重新签名apk文件(手工用命令行)
re-sign.jar中后自动去除签名这个方法,经试验不可用! 1.去除准备重新签名SinaVoice.apk软件本身的签名 将apk文件后缀改为.zip,然后从winrar中删除META-INF文件 ...
- C++中数字与字符串之间的转换(使用CString.Format或者sprintf)
1.字符串数字之间的转换 (1)string --> char * string str("OK"); char * p = str.c_str(); (2)char ...
- MongoDB使用手册
一.安装包下载地址 http://www.mongodb.org/downloads 二.服务器端使用 LINUX版本: ①用tar -zxvf mongodb-linux-x86_64-1.2.4. ...
- python对web服务器做压力测试并做出图形直观显示
压力测试有很多工具啊.apache的,还有jmeter, 还有loadrunner,都比较常用. 其实你自己用python写的,也足够用. 压力测试过程中要统计时间. 比如每秒的并发数,每秒的最大响应 ...
- getAttribute()获取属性
Js:getAttribute[转] 一份文档就是一棵节点树. ●节点分为不同的类型:元素节点.属性节点和文本节点等. ●getElementById()方法将返回一个对象,该对象对应着文档里的一个特 ...
- State Design Pattern 状态设计模式
设置好内部状态,然后依据不同的函数作为行为模式,进行状态转换. 有点像Finite Automata算法,两者的思想是一样的. 会Finite Automata,那么这个设计模式就非常easy了. # ...
- 安装windows7导致Ubuntu启动项消失的问题的解决
系统原来是Ubuntu14,前两天安装win7后,启动直接是win7.也就是Ubuntu的启动项消失了. 在windows下尝试非常多方法,都以失败告终,最后选择Ubuntu下boot-repair软 ...
- 三篇IMO的文章
http://column.iresearch.cn/b/201411/687499.shtml?from=singlemessage&isappinstalled=1 http://colu ...
- 基于visual Studio2013解决C语言竞赛题之1064互质数差1验证
题目 解决代码及点评 /* 64. 任意两个互质的自然数, 经过若干次加减后,总可获得结果为1的数值. 所谓互质数(即互素的数),是指这两个数除 1外再没有其它公因数. 如14,9为 ...
- web端、android端的文件上传
1.web端的文件上传. 这里是利用了第三方的jar包.这里所需要的jar包我已经上传到本博客的资源里了,以下是连接 http://download.csdn.net/detail/caihongsh ...