MATLAB重新定位colorbar标题

时间:2015-10-05 15:33:23

标签: matlab matlab-figure 4d

我想重新定位colorbar标题(而不是colorbar本身)。我尝试使用以下代码:

cb = colorbar;                                    
set(get(cb,'title'),'string','Dislocation Density(m^{-2})'); 

lbpos = get(cb,'title');
pos = get (lbpos,'position'); 
set(lbpos, 'position', pos) ;

我有三个问题:

  • 向量pos中有四个数字,我不知道应该修改哪个数字,以便向上移动标题,使其不会与彩条重叠。
  • 我试图更改pos中的某个数字,但无论我做什么,标题都会向下移动并与彩条重叠。
  • 此外,当我尝试使用右上角的 maximize 按钮放大整个图形时,颜色条标题的位置也会改变。如果我不尝试重新定位彩条标题,这种情况不会发生。

1 个答案:

答案 0 :(得分:1)

根据text object上的文档,当'Position''Units'时,文本对象的data只有3个数字[x,y,z],也是默认设置。所以我认为你的colorbar文本是以某种方式修改的。让我们试试这个:

cb = colorbar;                                    
set(get(cb,'title'),'string','Dislocation Density(m^{-2})'); 
lbpos = get(cb,'title');

% change Units to data
set(lbpos,'Units','data');
% get position, should have 2 or 3 values
pos = get (lbpos,'position'); 
% move up a bit
pos(2) = pos(2)+3;
set(lbpos, 'position', pos);