用MATLAB生成达到出版质量的图形-export_fig.zip本帖最后由stellari于2013-5-2816:03编辑MATLAB的绘图功能非常强大,但是有两个突出的问题:1、导出的图片质量不高;
2、有时导出图片和figure中实际所见并不一致。
所以导致大家正式发表专业文章时不经常用MATLAB作为首选的绘图软件。
其实,只要解决了上面的两个问题,MATLAB也是可以生成能够达到出版水平的图形的。
简介export_fig(见附件)就是一个能够解决上述问题的工具包。
首先,问题1的主要原因是MATLAB的默认绘图渲染器较为原始,所以画出的线条都有很明显的锯齿。
而用export_fig导出的图片,所有的线条和文字都是经过抗锯齿处理的,所以视觉效果极佳;
至于问题2,export_fig会严格按照figure上显示的内容去导出,是真正意义上的所见即所得。
而且用export_fig导出的图片不会有MATLAB默认导出时那么大的白边,而是保证白边的范围仅能容纳坐标轴和title,xlabel,ylabel,这样使得图片的尺寸减小,排版更方便。
下两图选得虽然不是很有代表性,但是依然可以看出export_fig截出的图中白边大量减少,并且有非常先进的抗锯齿处理(比如,上图的红线在1-2范围内有很明显的锯齿,下图则几乎没有。
坐标轴上的数字也是如此)。
背景中的网格也由虚线变成了“淡实线”,更符合现代制图的审美观。
figure中直接选择save的结果:test1_1.pngfigure中选择save的保存结果export_fig的结果:test2_2.pngexport_fig的保存结果使用方法export_fig的使用方法很简单,解压附件中的文件,然后将得到的所有文件放入某目录中,再将该目录添加至MATLAB的搜索路径中。
导出图片时,输入export文件名即可将当前figure中的图输出至文件中。
export_fig能够自动识别文件名的扩展名,并保存成相应的格式。
注意如果需要导出pdf或eps格式的话,需要下载并安装ghostscript,具体可以参见export_fig的发布页http://www.mathworks.com/matlabc...nge/23629-exportfig题外话其实不要小看MATLAB。
MATLAB其实隐藏了一个非常强大的绘图模式:HG2。
这个模式平时是隐藏的,只能在MATLAB启动时通过附加参数的形式开启,即可以将MATLAB的快捷方式中的指向目标由"...\...\MATLAB\R2013a\bin\MATLAB.exe"改为"...\...\MATLAB\R2013a\bin\MATLAB.exe"-hgVersion2(注意hgVersion和2之间有一个空格)然后使用这个快捷方式打开MATLAB。
在界面上没有任何区别,但是当你画出图之后,你会发现一切都不同了。
(下二图转载自undocumentedmatlab.com,左图为普通模式,右图为HG2模式)HG1_plot.png普通(HG1)模式(无责任转载自undocumentedmatlab.com)HG2_plot.pngHG2模式(无责任转载自undocumentedmatlab.com)版本在2010以上,感兴趣的同学不妨一试(版本更早其实也可以尝试)。
当然目前HG2模式尚不稳定,所以并没有向一般用户公开。
不过这很可能是下一代MATLAB的发展方向,说不定R2014a的默认绘图模式就是HG2!总结目前公认最好的图片导出方案还是export_fig。
这个工具包在MATLABCentral上一直下载量排行第一。
这个工具包可以完全替代MATLAB自己的图片导出功能,强烈推荐大家使用。
我本人现在正在写的一篇文章就全部使用export_fig,而没有使用其他任何的绘图软件。
HG2模式应该是MATLAB的未来发展方向,大家可以先尝个鲜。
很有可能在不久的将来就能够在MATLAB中直接生成这种高质量的图像了。
2024/5/23 14:45:49
26KB
matlab
1