【Matlab画图】如何去除Matlab图形中的边界2

这篇博客详细介绍了如何在Matlab中去除图形的多余边界,使图形充满白色绘图区域,并保持坐标轴比例一致。通过使用`axis tight`和`axis equal`等命令,实现了图形的紧凑显示和比例调整。同时,文章还提供了保存无边界图形的解决方案,并展示了在LaTeX中插入处理后的图形效果。

尊重原创,转载请注明出处: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中,排版结果如下图所示。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值