Octave/Matlab - 使用现有地块绘制子图

Octave/Matlab - Subplotting figures with existing plots

我的 Octave 工作流程如下:

我有大量数据要处理,还有大量图表要生成。对于每个地块, 我有一个函数可以完成所有工作,生成自己的图和 returns 这个图的句柄以供将来修改(如果需要)。像这样:

function [h,p] = processData_and_generatePlot_A(datainput)
       %%.....
       h = figure();
       p = plot(h, ...)
       %%....
end

现在,我正在尝试做的是一个调用所有这些函数的脚本,收集所有图形,并尝试将所有图形组合成一个图形(即,生成的每个图都应该是一个子图新图)。

所以,问题是:

提前致谢

确实存在一种将不同图中的图合并为新图的子图的方法。让我害怕的是你有 "lots of plots to generate",所以你必须定义一个标准来将现有的地块分成 N 个数字,以避免将它们全部塞进一个数字。

上述方法涉及copyobj函数的使用,下面是一个示例,您可以根据需要轻松修改:

f1 = figure();
x1 = -10:0.1:10;
y1 = sin(x1);
p1 = plot(x1,y1,'r');

f2 = figure();
x2 = -10:0.1:10;
y2 = cos(x2);
p2 = plot(x2,y2,'r');

pause(5);

f3 = figure();
sub1 = subplot(1,2,1);
sub2 = subplot(1,2,2);

copyobj(p1,sub1);
delete(f1);

copyobj(p2,sub2);
delete(f2);