保存MATLAB图形时,轴标签被切断

保存MATLAB图形时,轴标签被切断,matlab,matlab-figure,Matlab,Matlab Figure,考虑以下MWE生成的图形: 清除 全部关闭 图1=图(1); 集合(gca、'xscale'、'log') 集合(gca、'yscale'、'log') xlabel(‘频率(Hz)’) ylabel('振幅(dB)') 集合(gca,'FontUnits','points',。。。 “FontWeight”、“normal”和,。。。 “FontSize”,10,。。。 “FontName”、“Times”、,。。。 “单位”、“标准化”); w=16; PaperH=7.5; 图1.单位=厘

考虑以下MWE生成的图形:

清除
全部关闭
图1=图(1);
集合(gca、'xscale'、'log')
集合(gca、'yscale'、'log')
xlabel(‘频率(Hz)’)
ylabel('振幅(dB)')
集合(gca,'FontUnits','points',。。。
“FontWeight”、“normal”和,。。。
“FontSize”,10,。。。
“FontName”、“Times”、,。。。
“单位”、“标准化”);
w=16;
PaperH=7.5;
图1.单位=厘米;
图1.位置=[20 10纸张W纸张H];
图1.PaperUnits=‘厘米’;
图1.PaperPosition=[0 0 PaperW PaperH];
打印(图1、'fig1.png'、'-dpng'、'-r300')
我正在尝试使用
print
将其保存为
.png
文件。此外,我希望保存的图像是16厘米乘7.5厘米。我使用
PaperW
PaperH
(宽度和高度)指定了这一点

问题是,
xlabel
文本的底部被切断。为什么会这样?我怎样才能解决这个问题呢

放大
xlabel
。注意
q
y
的底部是如何被切断的


您可以按如下方式修补轴的位置

% get axis position, move up the y co-ordinate by just little bit and offset the height by the same amount
pos = get(gca, 'Position');
set(gca, 'Position', [pos(1) pos(2)+0.05 pos(3) pos(4)-0.05]);