Centering annotation over subplot?

53 次查看(过去 30 天)
I'm trying to center a textbox annotation over a subplot. I have a 2x2 subplot and I want titles over the columns, centered for each column. I don't want to just use title() because it shrinks the axes of the upper plots, so they are not the same as the axes on the bottom row.
I've tried using the x position of the upper subplot like so:
figure();
hLF1 = subplot(2,2,1); bxA = boxplot([1:10;1:10]','labels',{'On','Off'}); ylabel('LabelY')
annot_LF_pos = [mean(hLF1.Position([1,3])), 0.775, 0.3, 0.2];
annotation('textbox',annot_LF_pos,'String','Title','EdgeColor','none',...
'FontSize',22,'HorizontalAlignment', 'center')
But that didn't really center it. I know I can hack around with numbers, but I'm hoping for a better solution.
I'm not tied to using an annotation, so any other suggestions are welcome!
Thanks!

采纳的回答

Jess Lovering
Jess Lovering 2019-11-5
编辑:Jess Lovering 2019-11-5
You could try to use text instead and use the x and y limits instead of the axis position, see below:
text((max(hLF1.XLim)-min(hLF1.XLim))/2+min(hLF1.XLim),max(hLF1.YLim),'Title','EdgeColor','none',...
'FontSize',22,'HorizontalAlignment', 'center','VerticalAlignment','Bottom')

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Title 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by