我正在尝试生成一个具有多个子图的图形,例如
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