Matlab配置export_fig,可进行去白边、处理保存矢量图像、保存PDF和eps等操作

由于每次matlab生成的图片直接复制出来都会有白边,而且有时候线条也会失真,所以就查看有没有什么好的方法,结果还真找到了,参考的是本文最后的两个链接,可是都没有配图,下面我每一步都具体记录下,希望能帮到大家。

一、软件准备

共需要准备三个软件。
1、export_fig下载链接:https://ww2.mathworks.cn/matlabcentral/fileexchange/23629-export_fig
在这里插入图片描述
2、ghostscript下载链接:https://www.ghostscript.com/download/gsdnld.html
在这里插入图片描述
3、XPdf-tools下载链接:http://www.xpdfreader.com/download.html
如果是Windows系统,请下载红线所画,若不是,请自行选择。
在这里插入图片描述
为了资源下载方便,已经上传到CSDN资源下载,本来想不要积分的,可是好像积分是自动生成的,我改不了。下载链接如下:
https://download.csdn.net/download/liangontheway/11227204

二、安装

1、首先安装Ghostscript,安装目录尽量选择matlab文件夹,记住自己的安装位置。
在这里插入图片描述
2、接着安装Xpdf-tools,其实Xpdf-tools是不需要安装的,直接解压到指定位置并记住此位置。
在这里插入图片描述
3、export_fig也是不需要安装的,直接解压到指定位置并记住此位置。
在这里插入图片描述

三、配置

步骤1、使用matlab命令行随便生成一个图像

				x = [-10:0.1:10];
				y = sin(x);
				plot(x,y)

输入代码后回车生成如下图像。
在这里插入图片描述
2、配置export_fig路径

addpath(genpath('F:/MATLAB/altmany-export_fig-9502702'));
savepath;

注意:更换自己的export_fig所在路径,且路径一定要用引号,不然会报错
在这里插入图片描述
3、配置ghostscript和Xpdf-tools路径

export_fig( gcf , '-pdf' , '-r300' , '-painters' , './Test.pdf');

命令行输入如上代码,会弹出无法找到ghostscript文件,图忘记截了,不过看到了肯定知道,选择ghostscript安装路径下的bin文件夹,点击确定。
在这里插入图片描述

命令行输入:

export_fig( gcf , '-eps' , '-r300' , '-painters' , './Test.pdf');

会弹出如下所示的对话框,
在这里插入图片描述
点击Locate pdftops找到Xpdf-tools的安装路径,选择bin64,如果是32位的系统就选择bin32。
在这里插入图片描述

四、生成验证

export_fig( gcf , '-pdf' , '-r300' , '-painters' , './Test.pdf');
export_fig( gcf , '-eps' , '-r300' , '-painters' , './Test.pdf');

再次再命令行中输入这两行代码,不再报错,且生成成功。
在这里插入图片描述
用PDF软件打开后,发现没有白边且没有失真。
在这里插入图片描述

参考链接
[1] https://blog.csdn.net/connor_lele/article/details/20723519
[2] http://bbs.06climate.com/forum.php?mod=viewthread&tid=59444&extra=&page=1

MATLAB生成达到出版质量的图形-export_fig.zip 本帖最后由 stellari 于 2013-5-28 16: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.png figure选择save的保存结果 export_fig的结果: test2_2.png export_fig保存结果 使用方法 export_fig的使用方法很简单,解压附件的文件,然后将得到的所有文件放入某目录,再将该目录添加至MATLAB的搜索路径。导出图片时,输入 export 文件名 即可将当前figure的图输出至文件export_fig能够自动识别文件名的扩展名,并保存成相应的格式。 注意 如果需要导出pdfeps格式的话,需要下载并安装ghostscript,具体可以参见export_fig的发布页 http://www.mathworks.com/matlabc ... nge/23629-exportfig 题外话 其实不要小看MATLABMATLAB其实隐藏了一个非常强大的绘图模式: HG2。这个模式平时是隐藏的,只能在MATLAB启动时通过附加参数的形式开启,即可以将MATLAB的快捷方式的指向目标由 "...\...\MATLAB\R2013a\bin\MATLAB.exe" 改为 "...\...\MATLAB\R2013a\bin\MATLAB.exe" -hgVersion 2 (注意hgVersion 和 2 之间有一个空格) 然后使用这个快捷方式打开MATLAB。在界面上没有任何区别,但是当你画出图之后,你会发现一切都不同了。 (下二图转载自undocumentedmatlab.com,左图为普通模式,右图为HG2模式) HG1_plot.png 普通(HG1)模式(无责任转载自undocumentedmatlab.com) HG2_plot.png HG2模式(无责任转载自undocumentedmatlab.com) 版本在2010以上,感兴趣的同学不妨一试(版本更早其实也可以尝试)。当然目前HG2模式尚不稳定,所以并没有向一般用户公开。不过这很可能是下一代MATLAB的发展方向,说不定R2014a的默认绘图模式就是HG2! 总结 目前公认最好的图片导出方案还是export_fig。这个工具包在MATLAB Central上一直下载量排行第一。这个工具包可以完全替代MATLAB自己的图片导出功能,强烈推荐大家使用。我本人现在正在写的一篇文章就全部使用export_fig,而没有使用其他任何的绘图软件。 HG2模式应该是MATLAB的未来发展方向,大家可以先尝个鲜。很有可能在不久的将来就能够在MATLAB直接生成这种高质量的图像了。
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值