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

时间:2018-05-16 00:19:53

标签: matlab matlab-figure

考虑以下MWE,产生一个数字:

clear 
close all

fig1 = figure(1);
set(gca,'xscale','log')
set(gca,'yscale','log')
xlabel('Frequency (Hz)')
ylabel('Amplitude (dB)')
set(gca,'FontUnits','points',...
'FontWeight','normal',...
'FontSize',10,...
'FontName','Times',...
 'Units','normalized');

PaperW = 16;
PaperH = 7.5;
fig1.Units = 'centimeters';
fig1.Position = [20 10 PaperW PaperH];
fig1.PaperUnits = 'centimeters';
fig1.PaperPosition = [0 0 PaperW PaperH];

print(fig1,'fig1.png','-dpng','-r300')

我正在尝试使用.png将其另存为print文件。此外,我希望保存的图像为16厘米×7.5厘米。我使用PaperWPaperH(宽度和高度)指定了这一点。

问题是,xlabel文字的底部被切断了。为什么会这样?我该如何解决这个问题?

enter image description here

放大xlabel。请注意qy的底部是如何被切断的。

enter image description here

1 个答案:

答案 0 :(得分:1)

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

% 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]);