MATLAB boxplot 字体位置调整以及图片保存问题

boxplot,调整x轴的label字体大小方法:

text_h = findobj(gca,'Type','text');

set(text_h,'FontSize', 22);


但是调整过后,会发生字体上移,如下图

MATLAB boxplot 字体位置调整以及图片保存问题_第1张图片


需要用以下方法,移动x轴label,10是可以调整的数值,表示在y轴上下移动的程度:

yshift = get(text_h, 'Position'); % stop  
yshift = cellfun(@(y) [y(1) y(2)-10 y(3)],yshift,'un',0);  % set position
set(text_h, {'Position'}, yshift);

MATLAB boxplot 字体位置调整以及图片保存问题_第2张图片

但此时如果另存为图片,会发生移动过的x轴label重新回到原来位置的情况,这时候需要用如下命令:

ax = findobj(gcf,'type','axes'); % need stop here
    for j=1:length(ax)
        boxparent = getappdata(ax(j),'boxplothandle');
        listeners = getappdata(boxparent,'boxlisteners');
        % To disable the listener objects:
        cellfun(@(x) set(x,'Enabled','off'), listeners)
       % To delete:
       % cellfun(@(x) delete(x), listeners)
    end

这样可以顺利的保存图片。


你可能感兴趣的:(MATLAB)