matlab不显示子图刻度并调整子图间距 您所在的位置:网站首页 xmind间距怎么调 matlab不显示子图刻度并调整子图间距

matlab不显示子图刻度并调整子图间距

2023-06-26 11:56| 来源: 网络整理| 查看: 265

matlab中在使用subplot函数画图时,尤其是做emd分解查看IMF时, 正常画图的代码及结果如下:

figure for i = 1:size(imf_norm,1) subplot(7,1,i) plot(imf_norm(i,:)) ylabel('IMF'+string(i)) end

其中imf_norm为分解得到的imfs 效果图: 在这里插入图片描述 可以发现有两个基本的需求, 1.不显示前面若干子图的刻度,只保留最后一个子图的刻度 2.子图之间的间距尽量紧凑

第一个需求比较好解决直接使用一行命令就可以实现

set(gca, 'XTickLabel', '')

但是调整子图之间的距离,如果使用subplot就不好调整了 我们可以借助另外一个函数subaxis实现, 很简单,只需要把subplot换成subaxis并把间距传给它就可以 代码如下

figure space = 0.06; for i = 1:size(imf_norm,1) subaxis(7,1,i,'Spacing',space/3) plot(imf_norm(i,:)) ylabel('IMF'+string(i)) if i ~= size(imf_norm,1) set(gca, 'XTickLabel', ''); else xlabel('Sample'); end xlim([0 200]) end

效果如下: 在这里插入图片描述 这样就好看了一些

如果想要给整个图添加一个大标题 可使用sgtitle函数 代码如下

figure space = 0.06; for i = 1:size(imf_norm,1) subaxis(7,1,i,'Spacing',space/3) plot(imf_norm(i,:)) ylabel('IMF'+string(i)) if i ~= size(imf_norm,1) set(gca, 'XTickLabel', ''); else xlabel('Sample'); end xlim([0 200]) end sgtitle('大标题')

在这里插入图片描述



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有