You could compute your desired figure Position from the annotation and then set it, but you'll have to manage the Units consistently and reset the annotation's normalized position at the end. For example, something like this:
a = annotation('textbox','Position',[0.1482 0.7333 0.17 0.16], 'FitHeightToText','on','String','Example');
set(a,'Units','pixels');
aPos = get(a,'Position');
fPos = get(gcf,'Position');
fPos(3:4)=aPos(3:4);
set(gcf,'Position',fPos);
set(a,'Units','norm','Position',[0 0 1 1])
When possible though, it's better to create the container to the desired size first and then create its children using normalized position to fill up the container.
Best Answer