在去年的一篇文章(Matlab自动导出论文插图)中,我简单介绍了三种Matlab导出论文插图的方法。
不知不觉一年过去了,点赞过千,收藏过万(收藏是点赞的将近6倍就离谱)。
但最近看了眼评论,发现大家在使用的过程中普遍遇到了一些问题。
总结下来,大概就是:有锯齿
有变形
尺寸变化
首先,关于图片尺寸设置问题,这是在导出图片前就该提前设置好的,而且鉴于在之前的文章(Matlab、Visio导出精美论文插图——位置与尺寸设置)中有聊过,这里就不再赘述。
而对于变形、锯齿问题(见下图),在Matlab最近几年的版本中,已经得到了比较好的改善。
当然,这里只是说有所改善,其实或多或少还是会有一些问题。
而且,考虑到很多人还是比较习惯用低版本的Matlab,所以这次再给大家介绍一个出图插件——export_fig[1],可以完美解决锯齿、变形问题。
export_fig是由Yair Altman提供的一款用于将图形从Matlab导出为标准图像和文档格式的工具箱。A toolbox for exporting figures from MATLAB to standard image and document formats nicely.
1 安装
下载export_fig文件包后,将其放在Matlab安装路径的toolbox文件夹中,比如我的是‘D:\Program Files\MATLAB\R2017b\toolbox’。
然后打开Matlab,点击‘Set Path’->‘Add with Subfolders...’,在弹出的对话框中,到toolbox文件夹选择‘export_fig’文件夹后,点击‘Save’完成。
2 使用方法
作图完成后,在命令窗口(或者直接在脚本文件运行)键入:
export_fig test.tif -r300
执行后,在当前文件夹中,会生成一个分辨率为300dpi、名为‘test’的‘tif’文件:
输出的图像格式包括'-pdf', '-eps', '-svg', '-png', '-tif', '-jpg' 以及 '-bmp'。
比较后可以发现,用export_fig导出的图像与在Figure窗口中看到的基本一致,唯一的不同在于,export_fig导出的图像没有白边(为了方便观察这里背景颜色设为灰色),而白边问题其实也是困扰着很多同学的问题,在我之前的文章中(Matlab论文插图消除白边的5种方法)有讲过。
当然,如果你就是想要有白边,那可以:
export_fig test.tif -r300 –nocrop
若想保存到指定的地方,只需在文件名前添加路径即可。
比如我想保存到D盘中,只需键入:
export_fig D:\test.tif -r300
对于虚线、点线变密问题,在之前的代码中再加一条:
export_fig D:\test.tif -r300 –painters
除了上面讲到的常用命令,export_fig其实还有很多强大的功能,比如裁剪、调节透明度等。- Figure/axes reproduced as it appears on screen
- Cropped borders (optional)
- Embedded fonts (vector formats)
- Improved line and grid line styles
- Anti-aliased graphics (bitmap formats)
- Render images at native resolution (optional for bitmap formats)
- Transparent background supported (pdf, eps, png, tif)
- Semi-transparent patch objects supported (png, tif)
- RGB, CMYK or grayscale output (CMYK only with pdf, eps, tif)
- Variable image compression, including lossless (pdf, eps, jpg)
- Optional rounded line-caps (pdf, eps)
- Optionally append to file (pdf, tif)
- Vector formats: pdf, eps, svg
- Bitmap formats: png, tif, jpg, bmp, export to workspace
可以参考说明‘README.md’,自行学习。
获取方式:Matlab自动导出高质量无变形论文插图mp.weixin.qq.com