当前位置: 首页 > news >正文

Matlab自动消除论文插图白边的7种方法

通过Matlab所绘制的插图,如不进行一定的调整,其四周往往存在一定范围的白边

白边的存在会影响数据展示效果,有时也会给论文的排版造成一定麻烦

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

然而,这一办法,处理一两张图片还好,一旦量多起来,那简直是灾难

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

目前消除白边的思路主要有两种,一种是画布填充,一种是直接裁剪

画布填充法作用于图片导出前,通过一定的手段使绘图区域填充整个画布,其优点在于导出图片后不会改变画布尺寸,但操作相对复杂

直接裁剪法作用于图片导出过程中,通过一定的图片导出工具直接识别、裁剪画布中白边部分,其优点在于操作简单,但会导致画布尺寸的改变

由于两种方法作用于不同的作图阶段,因此可以结合使用。


方法1

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

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

set(gca, 'LooseInset', [0,0,0,0]);

效果如下图所示:

方法2

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

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

set(gca,'LooseInset',get(gca,'TightInset'))

效果与1基本一致:

方法3

通过改变坐标区的‘Position’信息以消除白边

set(gca, 'Position', get(gca,'OuterPosition') - ...    get(gca,'TightInset') * [-1 0 1 0; 0 -1 0 1; 0 0 1 0; 0 0 0 1]);

方法4

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

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

方法5

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

比如这样:

或是这样:

左图没加‘axis equal’,右图加了‘axis equal’。其中,右图坐标区的空白可以用axis tight消除:

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

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

所以,可以计算坐标区长度与宽度的比例,通过改变figure窗口尺寸以使坐标区填充画布

pos=get(gcf,'Position'); % 获取窗口尺寸信息pos(3)=pos(4)/3; %将窗口宽度设为高度的三分之一set(gcf,'Position',pos) % 更新窗口尺寸

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

方法6

利用export_fig图片导出工具,在导出图片的同时可直接裁剪白边:

export_fig test.png -r300

方法7

利用exportgraphics函数,同样可以在导出图片的同时可直接裁剪白边:

exportgraphics(figureHandle,'test.png','Resolution',300)

其效果同export_fig类似。

以上。

http://www.lryc.cn/news/44021.html

相关文章:

  • Python每日一练(20230330)
  • 面试官:Tomcat 在 SpringBoot 中是如何启动的(二)
  • 软件测试岗位中,如何顺利拿下50K+?送你一份涨薪秘籍
  • java webflux函数式实现数据结构
  • 百度文心一言可以完胜ChatGPT的4点可能性
  • 大型分布式架构设计
  • 基于springboot实现校园在线拍卖电商系统【源码】
  • SaaS智慧校园源码,电子班牌管理系统 人脸考勤、综合评价系统、请假管理、校务管理
  • MONGODB mongodb 一般人不知道的数据类型与使用
  • 蚁群算法优化
  • 山东首版次申报的材料
  • 个人时间管理网站—首页的前端实现【源码】
  • Python毕业设计推荐
  • 使用nodemon时报错:“无法加载文件...,因为在此系统上禁止运行脚本“;windows执行策略修改
  • 网络协议分析期末复习(五)
  • 外贸找客户软件:Yellow Page Spider 8.7.1 Crack
  • 博客管理系统(前端页面设计)
  • 安装yolov5环境
  • IP 归属地查询 API 教你从0到1顺着网线找到键盘侠
  • 【K8S系列】深入解析Pod对象(二)
  • 从3千到3万,我的测试之路真的坎坷
  • linux下使用system函数在程序中运行linux的shell命令
  • 银行数字化转型导师坚鹏:银行业发展趋势及对人才的需求分析
  • NFS挂载
  • IDEA使用技巧
  • 自动化测试之一【接口测试总结】
  • 科大奥瑞物理实验——傅里叶光学
  • mysql count(*)的性能如何?
  • gan实战(基础GAN、DCGAN)
  • 使用C语言实现服务器/客户端的TCP通信