选项卡图中的子图

时间:2015-05-13 20:49:16

标签: matlab plot matlab-figure subplot

对于以下脚本,子图/绘图在执行时位于选项卡后面。如何解决这个问题?

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));
    for jj=1:2
        ax(jj)=subplot(2,1,jj);plot(1:10,sin(1:10));
    end
    linkaxes(ax,'x');
end 

1 个答案:

答案 0 :(得分:2)

这是由于对subplot的错误调用;它看起来像Matlab创建了太多的轴,并且由于某种原因它们被放置在标签上。

解决此问题的一种安全方法是首先在进入嵌套for循环之前创建一个轴,然后正确放置子图。

示例代码:

clear
clc
close all

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

for k = 1:4

    tab(k)=uitab(tabgroup,'Title', sprintf('Tab_%i', k));
    axes('parent',tab(k))
    for jj = 1:2

        subplot(2,1,jj);

        plot(1:10,(1:10).^k);
    end
end

很少有截图:

enter image description here

enter image description here

耶!