MATLAB怎么生成带透明对象的矢量图
从很早的生成矢量版本开始MATLAB就支持对 patch、surface 等对象设定透明属性,明对有些示意图也必须使用透明的生成矢量对象才能充分展示所要表达的含义。对透明对象支持最好的明对通用图片格式就是 .png 了,但是生成矢量 png 图像并非矢量图形,对于一些需要以矢量图显示的明对场合并不适用,比如某些展示超多细节的生成矢量文档需要不断被放大放大放大,再比如许多期刊就不允许提交 png 格式的明对附件,只支持 .eps、生成矢量.tiff、明对.jpeg 等。生成矢量

eps (Encapsulated PostScript) 格式是明对被学术期刊最广泛认可的图片格式,其本身就是生成矢量为矢量图而设计。遗憾的明对是 PostScript 作为一个啥都能干的图形学语音,居然直到现在都不支持透明度(transparency)的生成矢量属性,因此想要让 MATLAB 中的带透明对象图形以 .eps 格式输出,只能依靠一些偏门的手段来曲线救国,比如下面提到的方案就是把透明对象的表观颜色赋给了矢量图,让它看起来像是透明而已。
首先明确一下目标:利用 MATLAB 生成带有透明度属性(FaceAlpha、EdgeAlpha 等)的图形,将其以 .eps 格式输出,且保留 MATLAB 中所展示的透明度特征。先用 peaks 函数生成一个曲面,令其表面透明度为50%:
s = surf(peaks(30))
set(s,'facealpha',0.5);
set(gcf,'color','none');

首先试试用自带的 print 函数导出会得到怎样的结果:
print E:graphic.eps -r300 -opengl
-r300 表示以 300dpi 导出,-opengl 表示使用 opengl 渲染器, -painters 渲染器不支持透明属性所以不用试了。将这张 eps 图片插入 Word 中,然后用 Adobe PDF 打印机默认的「高质量打印」输出 pdf。
打开 pdf,果然不行,虽然矢量图保留了,但是连颜色居然都没了:(
下图中右边为局部放大展示,下同。


再来试一下广受欢迎的 export_fig 函数:
export_fig E:Graphic2.eps -r300 -a2 -opengl
注意一下 export_fig 要直接输出 eps 格式的话需要已经安装 GhostScript 以及 GhostXPS,否则会报错。export_fig 能保留透明效果(前提是使用 -opengl),但是已经变成了位图,效果如下:


既然 export_fig 还可以直接输出为 PDF,不妨试一试 PDF 能不能行得通,然后再用 GSView 转成 eps:


仍然不对,问题跟直接输出的 eps 一样。想要靠 MATLAB 自带的导出函数和 export_fig 基本是没指望了。我搜了一下,发现不少人提倡以 .svg (Scalable Vector Graphics) 格式导出矢量图,但是 .svg 只是网页常见的矢量图格式,人家期刊并不支持,还得再绕一步将 .svg 转成 .eps。MATLAB 本身不支持 svg 的导出,所幸 FileExchange 中有人已经写好了 plot2svg,使用非常方便。但是需要注意一下的是,plot2svg 已经三四年没有更新过了,对于2014以后版本的 MATLAB 会报错,只需要进入 plot2svg.m 文件中将所有的 str2num 改为 str2double 即可。仍然是刚才那个图形,将其导出为 svg 格式:
plot2svg('E:Graphic3.svg');
svg 文件当然是极好的,又能透明又是矢量,比如下面这张,不管你怎么缩放现在这个页面都能保证一直是清晰的

但是我们的目标是 eps。我先试了一下免费的 Inkscape,还是用 300dpi 导出,不选择栅格化:

可惜导出之后还是变成了位图(不过貌似使用 Inkscape 导出时会自动抗锯齿?对比下图和上面 export_fig 的结果就会发现):


没办法只能用 AI 了。我为了把这个问题解决特意去下载了一个 AI,感觉有些大材小用啊... 还好,问题解决了!AI 导出时全部使用默认设置,除了把 dpi 调到300:

导出,真•矢量图达成!


继续放大:

最后总结一下工作流:
1、使用 plot2svg 函数先将 MATLAB 中生成的图形以 .svg 格式导出;
2、在 Adobe Illustrator 中打开 svg 文件,再将其以 .eps 格式导出。
附带说一下,本文转载自网络。这个方法只有必要对 MATLAB 中的带透明属性的 patch、edge 对象进行操作,如果仅仅是令当前窗口或当前坐标轴的背景透明,用自带的 print 和 export_fig 都能实现,没必要搞得那么复杂。
(责任编辑:探索)
-
近日,上海浦东新区“十大最美家庭”新鲜出炉。爱岗敬业、为爱拼搏的张慧敏、李学军家庭,从近444户参评家庭中脱颖而出,当之无愧评为浦东新区2016年“最美家庭&rdq
...[详细]
-
特斯拉电动汽车Model S的出现点燃了人们对电动汽车的热情。新能源电动汽车就像一个有着诸多美好想象的大玩具,却因为买得起车充不起电的尴尬变得华而不实。今年,这种尴尬的局面有望得以缓解。受益于政策的利
...[详细]
-
电力行业是我国能源生产和消费大户,也是节能减排的重点领域,其二氧化硫排放占全国二氧化硫排放一半以上,理应在国家推进节能减排工作中做表率。 按照省经信委要求,今年11月10日前,全省要完成13台、总容
...[详细]
-
事件:公司与三安光电于2013年9月4日签署《投资合作协议书》,双方共同出资3000万元在福建厦门设立厦门阳光三安照明技术有限公司(暂用名),其中,公司现金出资1800万元,股权占比60%;三安光电
...[详细]
-
近日,由中建八局一公司承建的湖北宜昌夷陵万达大商业项目奠基开工。项目总建筑面积约90万平方米,包括购物中心、住宅、别墅以及相应的配套设施,是中建八局一公司进入湖北宜昌市场的首个项目,也是一公司与万达集
...[详细]
-
随着无锡汽车市场的快速发展和汽车消费者的不断成熟,无锡汽车展会经济这一领域成为了本地和跨地区主办方的竞技场。今年,无锡万众瞩目的春季车界盛会——“新体五一车展&rd
...[详细]
-
每年我们对全国两会都有众多期盼,环境保护无疑将是今年两会关注的焦点中国城市低碳经济网近日,上海社会科学院和社会科学文献出版社共同发布的《国际城市蓝皮书:国际城市发展报告(2014)》指出,北京的公平指
...[详细]
-
节能服务产业于上世纪90年代后半期被引进我国,在我国还是个新兴的产业,它是运用从西方市场经济国家引入的“合同能源管理EMC)”节能新机制逐步发展起来的。虽然节能服务产业在
...[详细]
-
上演彩云追月!前海国际会议中心屋面泛光照明正式运行随着最后一根线路的接通,近日,备受瞩目的前海国际会议中心屋面泛光照明正式运行,为深圳人民上演了一场靓丽的“灯光秀”。这标志着,素有新地标之称的前海国际
...[详细]
-
党的十八大提出建设“美丽中国”的目标。在“美丽中国”的远景布局下,和昌森林湖论坛相册户型样板间点评地图搜索),积极贯彻党的十八大有关“生态文
...[详细]

中建八局埃塞公司欢度国庆节 共筑五洲梦
电力行业如何做节能减排表率
大唐发电年报点评:电力业务大幅增长,但煤化工高额亏损
评论:钢铁行业困境短期无法解决 生意不好做将成常态
中国中铁工程局党委书记、董事长,总经理调整!
