MATLAB怎么生成带透明对象的矢量图( 二 )

MATLAB怎么生成带透明对象的矢量图

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

MATLAB怎么生成带透明对象的矢量图


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


MATLAB怎么生成带透明对象的矢量图


没办法只能用 AI 了 。我为了把这个问题解决特意去下载了一个 AI,感觉有些大材小用啊... 还好,问题解决了!AI 导出时全部使用默认设置,除了把 dpi 调到300:
MATLAB怎么生成带透明对象的矢量图


导出,真?矢量图达成!
MATLAB怎么生成带透明对象的矢量图


MATLAB怎么生成带透明对象的矢量图


继续放大:
MATLAB怎么生成带透明对象的矢量图


最后总结一下工作流:
1、使用plot2svg函数先将 MATLAB 中生成的图形以 .svg 格式导出;
2、在 Adobe Illustrator 中打开 svg 文件,再将其以 .eps 格式导出 。
【MATLAB怎么生成带透明对象的矢量图】附带说一下,本文转载自网络 。这个方法只有必要对 MATLAB 中的带透明属性的 patch、edge 对象进行操作,如果仅仅是令当前窗口或当前坐标轴的背景透明,用自带的 print 和 export_fig 都能实现,没必要搞得那么复杂 。

推荐阅读