单元格阵列组合的子图



我正在尝试生成一个具有多个子图的图形,例如

time = 1:365;
data = {rand(365,1),rand(365,1),rand(365,1)};
data2 = {rand(365,1),rand(365,1),rand(365,1)};
figure(1);
for i = 1:length(data);
    for ii = 1:2:2*length(data);
        for jj = 2:2:2*length(data);
            subplot(5,2,ii);
            plot(time,data{i});
            subplot(5,2,jj);
            plot(time,data2{i});
        end
    end
end
从这段代码中,我试图为"data"和"data2"中的每个单元格生成一个子图,

其中"data"中的每个单元格都绘制在子图1,3,5中,"data2"中的单元格绘制在子图2,4,6中。我生成的代码在数据和 data2 的所有子图中重现相同的数字,而不是我上面描述的。我猜这里的问题是每个数据集中的单元格数量是 3 个,循环运行 6 次迭代?我该如何解决这个问题?

试试这个。你不需要这个嵌套循环...

figure(1);
for i = 1:length(data);
    subplot(5,2,(i-1)*2+1);
    plot(time,data{i});
    subplot(5,2,(i-1)*2+2);
    plot(time,data2{i});
end

最新更新