将数字分别分组到窗口和选项卡中

时间:2014-10-04 12:27:00

标签: matlab figures

我有4个绘图,矢量y1,y2,y3和y4,都是矢量x的函数。我希望将前两个图分组为单个图窗口中的选项卡,接下来的两个图也分组为选项卡,但在单独的窗口中。

我试过这段代码:

figure
set(0,'DefaultFigureWindowStyle','docked')
plot(x,y1)
plot(x,y2)
figure
set(0,'DefaultFigureWindowStyle','normal')
plot(x,y3)
set(0,'DefaultFigureWindowStyle','docked')
plot(x,y4)

..但是一旦重新启用了标签分组,就会添加绘图作为附加到旧窗口而不是新窗口的新标签。

我玩了上面命令的顺序,但它没有帮助。如果有的话,我只能设法在同一个窗口中覆盖其中一个图。请注意我不希望任何图形重叠,因此“保持”无济于事。

有什么建议吗?谢谢!

1 个答案:

答案 0 :(得分:1)

很像files in the Editor,数字可以是自由浮动的,也可以停靠在"数字"窗口(仅当某些东西停靠在它上面时才出现,并且它本身可以自由浮动或停靠在桌面"窗口中)。由于只有一个全球性的数字"数字"窗口,你可以得到的最接近的是将它分成窗格并在每个窗格中有一组标签(至少交互式 - 我不确定是否有一个编程接口)。

但是,这只考虑顶级用户界面。如果你做一些额外的工作来实现你自己的标签,那么很可能有多个数字,每个数字都包含标签图:

hfig1 = figure('WindowStyle','normal');
htabgroup = uitabgroup(hfig1);
htab1 = uitab(htabgroup, 'Title', 'Plot A');
hax1 = axes('Parent', htab1);
plot(hax1, x, y1);
htab2 = uitab(htabgroup, 'Title', 'Plot B');
hax2 = axes('Parent', htab2);
plot(hax2, x, y2);
% and so on... helper functions might make sense if you're doing a lot of this

请注意,uitabuitabgroup是"新"在R2014b中,但在早期版本中以未记录的,不受支持的形式存在 - 上面的示例在R2013b和R2006b上都适用于我。