Matlab - 用颜色条和标签紧密贴合两个子图

时间:2016-12-13 17:22:04

标签: matlab labels subplot colorbar

我的问题与这个旧问题(Size of color bar including labels in Matlab R2014b)有某种关系,但提供的答案并不令人满意

我希望水平地紧贴两个子图,第一个子图有一个有自己标签的颜色条。

这里应该是什么样的

tight subplots with colorbar

以下是用于生成它的代码

h = figure('units','normalized','Position',[0,0,1,1]) ;

ax(1) = subplot(1,2,1);

hc = colorbar('EastOutside');

hc.Position(1) = ax(1).Position(1) + ax(1).Position(3)  ; % xfig + fig width

yl  = ylabel(hc,'$\sqrt{u^2 + v^2}$','interpreter','latex','Units','normalized','FontSize',16) ; % normalized with respect to the colorbar !

ext = yl.Extent ;

ti_lbrt(1,:) = ax(1).TightInset ; % Margins of the previous figure

ax(2) = subplot(1,2,2) ;

ti_lbrt(2,:) = ax(2).TightInset ; % Margins of the second figure


ax(2).Position(1) = ax(1).Position(1) + ax(1).Position(3) ...   lower right corner of previous figure
                    + ti_lbrt(1,3) ... right margin of the previous figure
                    + hc.Position(3) ... width of the colorbar
                    + ti_lbrt(2,1) ... % left margin of the new subplot
                    + ext(3)*hc.Position(3)...  width of the colorbar label
                    + 0.01 ; % Some arbitrary value; 

为什么我必须添加额外的0.01值以使其不重叠?

感谢。

0 个答案:

没有答案