Метки оси обрезаются при сохранении фигуры MATLAB - PullRequest
0 голосов
/ 16 мая 2018

Рассмотрим следующее 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 см.Я указал это, используя PaperW и PaperH (ширина и высота).

Проблема в том, что нижняя часть текста xlabel обрезана.Почему это происходит?И как я могу решить эту проблему?

enter image description here

Увеличено на xlabel.Обратите внимание, как обрезается нижняя часть q и y.

enter image description here

1 Ответ

0 голосов
/ 16 мая 2018

Вы можете повозиться вокруг положения оси следующим образом,

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