我用plot命令绘制了一个图形,然后用set命令改变了它的很多属性,我还保存了图形的句柄(比如h1)。
我需要的是稍后在代码中使用句柄再次打印同一地物。我检查了plot命令,没有找到任何接受句柄的版本。我还考虑获取扩展数据和Y数据,并使用它们重新打印同一地物。
最简单的解决方案是什么?
编辑1:基于PeterM建议的copyobj的工作示例代码。
hf(1) = figure(1);
plot(peaks);
hf(2) = figure(2);
plot(membrane);
hf(3) = figure(3);
ha(1) = subplot(1,2,1);
ha(2) = subplot(1,2,2);
for i = 1:2
hc = get(hf(i),'children');
hgc = get(hc, 'children');
copyobj(hgc,ha(i));
end
编辑2:我还发现了this function,它可以将图形(包括图例)复制到子情节中。
5条答案
按热度按时间i34xakig1#
我以前遇到过这种情况。根据你要做的事情,函数copyobj可能是合适的。这个函数可以让你把一个轴的内容复制到一个新的图形中。
inn6fuwd2#
改进@PeterM不错的回答,一个更简单的方法是:
但这取决于你想要什么,如果你只想要轴,或整个图...(顺便说一句,它似乎没有复制图例处理)。
dwbf0jvd3#
您可以使用
saveas
将图形储存在档案中,然后使用open
从这个档案载入完全相同的图形。wgxvkvu94#
这将是最懒惰的方式来完成你想要的。
gcxthw6b5#
我已经使用了函数figs2subplots(在原始问题的Edit 2中给出)-它完成了这项工作,非常容易使用。