MATLAB:将停靠图形的所有选项卡保存在单个.fig文件中

时间:2015-04-13 16:18:58

标签: matlab matlab-figure

我有一个matlab图,在for循环中生成了4个制表符。循环内的每个选项卡都会覆盖图形句柄。我想保存这个图形窗口(在单个图窗口中有4个选项卡),但是使用savefig()命令(在循环外部使用)我只能保存最后一个选项卡。使用循环内部使用的savefig(句柄,_)命令(以及循环外的关闭(句柄)),我可以保存在单个文件中,但选项卡在单独的图形窗口中打开。这有解决方法吗?

1 个答案:

答案 0 :(得分:2)

如果将句柄存储到选项卡组的父级以与savefig()一起使用,它还应该保存所有子对象。

例如:

h.mainfig = figure();
h.tabgroup = uitabgroup(h.mainfig, 'Position', [.05 .1 .9 .8]);

ntabs = 4;

for ii = 1:ntabs
    h.tab(ii) = uitab(h.tabgroup, 'Title', sprintf('Tab_%i', ii));
end

% Make a sample plot on tab 2
h.axes(2) = axes('Parent', h.tab(2));
plot(h.axes(2), 1:10);

savefig(h.mainfig, 'test.fig');

打开test.fig应重新打开整个数字。

作为一般情况,我会建议在创建它们时覆盖它们,这使得以后解决这个问题变得很痛苦,并且通过每次迭代覆盖它们都不会获得任何好处