【问题标题】:create subplot with loop用循环创建子图
【发布时间】:2014-05-18 01:51:53
【问题描述】:

我有以下问题,请帮我解决以下任务:

我想在 matlab 中创建依赖于循环变量的子图,例如我知道要创建 2X2 的绘图菜单,我们正在这样做

subplot(2,2,1)

subplot(2,2,2)

subplot(2,2,3)

subplot(2,2,4)

但是我可以做线性形式吗?比如 1:100?或者类似的东西,更普遍的是这样的

n=100;

for i=1:n

subplot(1,n,i)

?

非常感谢

编辑代码

function [order]=find_order(y,fs);
order=0;
n=length(y);
n1=nextpow2(n);
ndft=2^n1;
for i=1:floor(n/2)
    [Pxx,f]=pburg(y,i,ndft,fs);
    subplot(ndft,ndft,i);
    plot(f,Pxx);
    title(['order',num2str(i),'i']);
    order=i;    
end
end


   picture :

我不明白会发生什么

【问题讨论】:

  • 你到底想完成什么?
  • 一般不,我只是想看看有没有可能
  • 也许子图窗口很小?
  • y 的典型长度,即编辑代码中函数的第一个输入参数?
  • 对不起哪一个? n? fs 是采样率

标签: matlab loops plot subplot


【解决方案1】:

for pat=1: N % 主循环

% Define the sublot grid
s1=3; % subplot rows
s2=3; % subplot columns

% find the figure number
fig_num=floor(pat/(s1*s2))+1 % Figure number

% Find the subplot number
sub_fig=mod(pat,s1*s2)   % subplot number

% correct for corners
if(sub_fig==0)
    sub_fig=s1*s2;
    fig_num=fig_num-1;
end

% plot something
figure(fig_num);
subplot(s1,s2,sub_fig) ;

plot(1,1) % plot something

主循环的结束百分比

【讨论】:

    【解决方案2】:

    是的,它是:

    n=5;
    
    for i=1:n
    
    subplot(1,n,i)
    
    end
    

    给予

    【讨论】:

      【解决方案3】:

      一维演示

      代码

      %%// Data
      t = 0:0.01:15*pi;
      y1 = sin(t);
      
      %%// Plot
      figure,
      for k=1:4
          subplot(4,1,k)
          plot(t((k-1)*1000+1:k*1000),y1((k-1)*1000+1:k*1000))
          xlim([0 40])
      end
      

      输出

      二维演示

      代码

      %%// Data
      t = 0:0.01:15*pi;
      y1 = sin(t);
      
      %%// Plot
      colors=['r' 'g' ; 'y' 'k'];
      
      figure,
      for k1=1:2
          for k2=1:2
              subplot(2,2,(k1-1)*2+k2)
              plot(t,y1,colors(k1,k2));
          end
      end
      

      输出

      希望这些演示能为您的案例提供一些有意义的指导。

      【讨论】:

      • 当尺寸很大并且无法容纳所有图片时,我该怎么办?
      • 好,我们来看看!
      猜你喜欢
      • 1970-01-01
      • 2013-09-24
      • 2015-08-18
      • 2021-12-26
      • 1970-01-01
      • 2022-07-07
      • 2020-07-23
      • 1970-01-01
      • 2019-06-05
      相关资源
      最近更新 更多