matlab中提取一幅图片中蓝色区域_Matlab论文插图消除白边的5种方法

8c9f8b7dae8901dee01e23d7e53051fc.png

Matlab所制作的插图,如不进行一定的修正,其四周往往存在一定范围的白边,换句话说就是绘图区域未能填充整个画布。

白边的存在会影响图片显示效果,有时也会给论文的排版造成一定麻烦。

要想消除白边,简单的方法,在导出插图后,用其它软件的‘裁剪’功能,手动裁掉白边。

但这种办法,处理一两张图片还好,如果多了,那简直是灾难。

所以要想办法在源头解决问题,避免过多的机械劳动。

---------------

方法1

LooseInset是Matlab坐标轴的一个隐藏属性,其默认值是[0.13, 0.11, 0.095, 0.075],从而为刻度标记留出一定的空间。

Apparently, LooseInset, which is automatically set to a factory value of [0.13, 0.11, 0.095, 0.075], is used by Matlab axes to reserve a small empty margin around the axes, presumably to enable space for tick marks.

若将其清零,则可以消除白边。

set

效果如图:

45f0a8a49aff4c272b8e6a46393fc421.png

方法2

另一种方法是结合TightInset属性与LooseInset属性。

在Matlab中,坐标轴的Positon(蓝色),OuterPosition(红色)与TightInset(品红)范围如图所示。

ef86242059fd94fe2f0c2afb219af833.png
When determining the size of the axes, it seems that Matlab takes into account larger of the documented TightInset and the undocumented LooseInset. So, perhaps a better generic solution would be the one suggested by another blog reader:
set

效果与1基本一致:

98f85aa547576210044e04172376a7fe.png

方法3

参考matlab画图,如何消除图形中多余的空白区域,通过改变坐标区的‘Position’信息以消除白边。

set

80bade92147f5b1a5ae8df8a2edec683.png

方法4

在File>export setup中,选择‘Expand axes to fill figure’。

效果与上述三种方法效果类似。

9ddd47a6e0476fc8e00638a99f92b2ed.png

方法5

有时候,会遇到坐标轴刻度间距一致(axis equal),且数据纵横坐标范围相差较大的情况。

比如这样:

de7a086b4032bbab8bf223506d2923f2.png
左图没加‘axis equal’,右图加了‘axis equal’

或是这样:

ce0aec2e53a60279652119120df7293b.png
左图没加‘axis equal’,右图加了‘axis equal’

其中,右图坐标区的空白都可以用axis tight消除:

d39d35f67ee64ed3dba8aebe58e5d1cb.png

这时,若使用前述方法,往往只能在一个方向去掉白边。

ca735d18945d25429e4428c18f4d7d10.png

5e72737043e428460106c39072ae5936.png

主要原因在于窗口的尺寸是不变的,坐标区的纵横比又是锁定的。

一种方法是,计算坐标区长度与宽度的比例,通过改变figure窗口尺寸以使坐标区填充画布:

pos

c8ade23403e4d9626a14f932b0ea93f1.png

该方法对其它情况其实同样有效,只是窗口、坐标区尺寸的设置会麻烦些。

关于尺寸设置的相关内容见:

阿昆:Matlab、Visio导出精美论文插图——位置与尺寸设置​zhuanlan.zhihu.com
b8927bb9ca5d5e698f28bb2ab454aca0.png
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值