1

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

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。我生成的代码在 data 和 data2 的所有子图中重现了相同的图形,而不是我上面描述的。我猜这里的问题是每个数据集中的单元格数是 3 并且循环运行了 6 次迭代?我怎样才能解决这个问题?

4

1 回答 1

3

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

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
于 2012-10-04T11:07:07.847 回答