使用注释的多个子图,其中一个动态超级标题

时间:2016-07-24 20:28:46

标签: matlab plot matlab-figure subplot

我正在尝试为多个子图使用一个超级标题。我使用annotation来实现这一目标。 annotation位于循环内。问题是annotation在没有动态时工作得很好但不幸的是,我需要在使用Loop

时更改标题

我使用下面的代码,当标题没有变化时它正在工作。 (这只是随机数的一个例子)

clc;
clear;
a=rand(10,10);
for i=1:3
h(1)=subplot (2,2,1);
plot (a(:,1),a(:,2));
set(h(1),'Position',[.1 .35 .35 .5])
h(2)=subplot (2,2,2);
plot (a(:,1),a(:,2));
set(h(2),'Position',[.55 .35 .35 .5])
annotation('textbox', [0 0.85 1 0.1],'String',...
 'Test text Number=1','EdgeColor', 'none','HorizontalAlignment', 'center')

end

我尝试更改annotation行,如下所示,但它无效

annotation('textbox', [0 0.85 1 0.1],'String',...
 'Test text Number=%d',i,'EdgeColor', 'none','HorizontalAlignment', 'center')

我不想在我的代码中使用外部函数,例如(suptitlesuplabel等等。

1 个答案:

答案 0 :(得分:1)

这将有效:

temp=annotation('textbox', [0 0.85 1 0.1],'String',...
['Test text Number=',num2str(i)],'EdgeColor', 'none','HorizontalAlignment', 'center')