我正在使用单元格数组来显示多行标题。它有时不能很好地工作,不明白为什么。我正在使用subplot
来定义我的轴;
这是我的代码。前两个子图很好但第三个标题是剪切的,它只显示最后两个项(C和D字符串)。
hf = figure;
subplot( 2, 2, 1 );
title({'test1', 'test2','test3', 'test4'});
subplot( 2, 2, 3 );
title({'testA', 'testB','testC', 'testD'});
subplot( 1, 2, 2 );
title({'A', 'B','C', 'D'});
我做错了吗?
答案 0 :(得分:1)
作为一种解决方法,我建议您执行以下操作:
sp3 = subplot(1,2,2);
title({'A', 'B','C', 'D'});
drawnow % force calculating the position *after* inserting the title
ph = sp3.Position; % get the desired position
sp3.delete % remove the axes
subplot( 2, 2, 1 );
title({'test1', 'test2','test3', 'test4'});
subplot( 2, 2, 3 );
title({'testA', 'testB','testC', 'testD'});
sp3 = subplot(1,2,2);
title({'A', 'B','C', 'D'});
sp3.Position = ph; % set the axes to the right hight
这个想法非常简单:
诀窍是使用drawnow
,所以Matlab实际上会在你获得位置之前放置轴的所有部分,否则就会出错。