繁体   English   中英

Octave / Matlab-用现有绘图对图形进行子图形化

[英]Octave/Matlab - Subplotting figures with existing plots

我的Octave工作流程如下:

我有大量数据要处理,并且要生成许多图。 对于每个图,我都有一个函数来完成所有工作,生成自己的图,并返回该图的句柄以供将来修改(如果需要)。 像这样:

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

现在,我想做的是一个脚本,调用所有这些功能,收集所有图形,并尝试仅将它们合并成一个图形(即,生成的每个图应为新图形中的一个子图)。

因此,问题是:

  • 是否可以将绘图处理程序传递给subplot函数,以便打印绘图而不是生成新绘图?
  • 如果没有,有什么方法可以将现有地块插入到新图形中?

提前致谢

实际上存在一种将不同图中的图合并为新图的子图的方法。 令我担心的是,您有“要生成的地块” ,因此必须定义一个将现有地块划分为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);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM