对于以下脚本,子图/绘图在执行时位于选项卡后面。如何解决这个问题?
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
答案 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
很少有截图:
和
耶!