尊重原创,转载请注明出处:http://blog.youkuaiyun.com/fallian/article/details/38796155
================正文分割线================
在上一篇博文中,讨论了如何将Matlab所绘制的图形中多余的空白去掉,不过上一篇博文中,我没有考虑axis变化后的情况,这里讨论变化后的情况,如何做。
原始图形
先画一个与上一篇博文中相同的图形,使用如下命令:
x = 0:0.01:2*pi;
y = sin(x);
plot(x,y,'k');
绘制得到的图形如图1所示。
图1, 原始图
这张图直接保存成eps后,要在latex中使用的话,会有过多的边界空白,另外图中的曲线并没有占满整个白色绘图区域,下面我们依次解决这两个问题。
使图形充满整个白色绘图区域
要充满整个区域,可以使用如下命令:
axis tight
执行上述命令后,可以得到如图2所示的结果。
图2,紧凑的图形显示结果
使得绘图坐标在两个方向上采用相同的比例
在某些场合下,我们需要按相同的比例来显示图形,可以使用如下命令完成这个任务。
axis equal
在执行了axis tight的基础上,执行这个命令,可以得到如图3所示的结果。
图3, 使用相同的坐标比例之后的结果
使用了axis equal之后,图形中上下的空白区域又多了,可以再执行下axis tight,就可以获得如图4所示的结果了。
图4 再次axis tight的结果
如果图4是你想要的最终结果,可以只在图1的基础上执行axis image命令。
去掉额外空白后保存
上一篇博文中的方法确实是非常傻瓜的方法,如果你要是用file->save as的话,上一篇博文也是不能解决问题的,原因是本文中的绘图区域的尺寸是被Position的矩形区域包围的,Position的矩形区域并没有被完全利用,也就是说绘图区域要小于等于Position的矩形区域,单单通过设置Position是不能结果问题的。
既然上一篇中使用的是笨办法,也有个笨办法来解决这一点,就是通过调整gcf的大小来做到这一点。
这里要介绍的不是这种笨办法,其实只需要一个命令即可:
saveas(gcf, 'myfigure', 'eps')
过一会,打开保存的eps图,你会发现边界已经没有了。
Latex插图实验
分别使用figure对话框上的file->save as按钮和 saveas函数保存两个eps图形,导入latex中,排版结果如下图所示。
这篇博客详细介绍了如何在Matlab中去除图形的多余边界,使图形充满白色绘图区域,并保持坐标轴比例一致。通过使用`axis tight`和`axis equal`等命令,实现了图形的紧凑显示和比例调整。同时,文章还提供了保存无边界图形的解决方案,并展示了在LaTeX中插入处理后的图形效果。
1万+

被折叠的 条评论
为什么被折叠?



