matlab不显示子图刻度并调整子图间距 | 您所在的位置:网站首页 › xmind间距怎么调 › matlab不显示子图刻度并调整子图间距 |
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 实验室设备网 版权所有 |