我使用plot命令绘制图形,然后使用set命令更改了许多属性。我还存储了情节的句柄(比如说h1)。
我需要的是使用句柄在我的代码中稍后再次绘制相同的数字。我检查了plot命令,但没有找到任何接受句柄的版本。我还考虑过获取Xdata和Ydata并使用它们重新绘制相同的数字。
最简单的解决方案是什么?
编辑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可以将数字(包括图例)复制到子图中。
答案 0 :(得分:5)
我之前遇到过这种情况。根据您要执行的操作,函数copyobj可能是合适的。此功能允许您获取一个轴的内容并将其复制到新图形。
答案 1 :(得分:5)
改善@PeterM不错的答案,一种更简单的方法是:
fig2H=copy(gcf) % or change gcf to your figure handle
但这取决于你想要什么,如果你只想要轴或者整个人物......(顺便说一句,它似乎并没有复制传奇手柄)。
答案 2 :(得分:2)
您可以使用saveas
将数字保存在文件中,并使用open
从该文件中加载完全相同的数字。
答案 3 :(得分:0)
这将是实现你想要的最懒惰的方式。
% Sample plot
f1 = figure(1);
plot(0:0.1:2*pi, sin(0:0.1:2*pi));
f2 = figure(2);
% The code you need
saveas(f1, 'temp.fig')
f2 = hgload('temp.fig')
delete('temp.fig')