经过大量搜索,我发现有许多类似的问题,然而我仍然无法使用copyobj()简单复制特定的子对象/句柄。
(注意:我对MATLAB图形学还很陌生,因此我的术语/对图形/句柄的理解可能是错误的。请随意指正!)
基本上,每个其他示例似乎都与allchild()一起使用copyobj()
。问题在于某些子对象会覆盖图例/标题等以及实际线条。
例如,考虑使用两个虚拟绘图的以下代码:
f = figure;
plot(1:10);
title('plot 1');
f2 = figure;
plot(fliplr(1:10));
title('plot 2');
这将生成以下绘图:
allchild()
,我的第一个图与第二个图完全相同。我希望两条线都被绘制出来。您还会注意到旧的“Plot 1”标题现在显示了两个标题重叠在一起的情况:copyobj(allchild(f2),f);
copyobj(findobj(f2, 'Type', 'line'), f);
抛出以下错误:
??? Error using ==> copyobj
Object line[1] can not be a child of parent
figure[1]
我的最终目标将类似于这样(在MS Paint中完成的插图,请忽略其丑陋):