MATLAB图的PDF附近的紧定边框

Nic*_*mer 5 pdf matlab bounding-box figure

在MATLAB中创建一个简单的图形并将其保存为PDF时,生成的PDF文件将具有一个豪华的边界框.

plot(1,1,'x')
print(gcf, '-dpdf', 'test.pdf');
Run Code Online (Sandbox Code Playgroud)

(从输出的比例来看,它们似乎总是放在A页面上.)

是否有一种简单的方法可以围绕PDF获得紧密的边界框?

H.M*_*ter 4

您可以按如下方式设置边界框格式

figure(1)
hold on;
plot(1,1,'x')

ps = get(gcf, 'Position');
ratio =  ps(4) / ps(3)
paperWidth = 10;
paperHeight = paperWidth*ratio;


set(gcf, 'paperunits', 'centimeters');
set(gcf, 'papersize', [paperWidth paperHeight]);
set(gcf, 'PaperPosition', [0    0   paperWidth paperHeight]);


print(gcf, '-dpdf', 'test2.pdf');
Run Code Online (Sandbox Code Playgroud)

对于较小的边框,您可以调整paperposition属性,例如

set(gcf, 'PaperPosition', [-0.5   -0.5   paperWidth+0.5 paperHeight+0.5]);
Run Code Online (Sandbox Code Playgroud)

~编辑~

我更正了比率的计算,因为它是错误的,正如 Space47 的答案所指出的。(感谢@Space47)。