上浆印刷的Matlab图

时间:2015-04-19 14:12:19

标签: matlab matlab-figure

关于这一点有很多类似的问题,过去它们帮助我得到了我想要的东西,但似乎改变为Matlab 2015的东西不再有用了。

我想将Matlab中的数字导出为大小为4 x 3英寸的.eps,这样它们就适合我在Latex上做的事情。即使.eps是一种矢量格式并且可以很好地缩放,我想确保数字上的字体大小是正确的,因此正确设置它的大小非常重要。通常的建议是将图形属性设置为:

set(gcf, 'PaperUnits', 'inches', 'PaperPosition', [0 0 4 3], 'PaperPositionMode', 'auto');

这样做不会将我的.eps设置为4 x 3英寸,它似乎将页面缩放到图中,而不是将页面缩放到页面。如果我没有将PaperPositionMode设置为auto,则页面以4 x 3英寸导出,但是数字太大并且被裁剪。无论我指定什么PaperPosition(大小),图形本身都不会缩放到页面。

为什么PaperPositionMode' auto'忽略我指定的纸张尺寸?如何指定图形尺寸而不是纸张尺寸?

在Arch Linux上使用Matlab R2015a。以下是我正在使用的代码。

FNO = load('data/forced_no_oil'); % forced no oil
FWO = load('data/forced_with_oil'); % forced with oi

fig1 = figure;
plFNO = plot(FNO(:,1),FNO(:,2),'x');
hold on
plFWO = plot(FWO(:,1),FWO(:,2),'x');

xl1 = xlabel('Frequency (Hz)');
yl1 = ylabel('Displacement Amplitude');
legend('Forced Without Oil','Forced With Oil')

set(fig1, 'PaperUnits', 'inches', 'PaperPosition', [0 0 8 6], 'PaperPositionMode', 'auto');
print('-depsc','../latex/images/frequencyDisplacement.pdf')

1 个答案:

答案 0 :(得分:1)

请参阅以下链接。 这可能与您的问题有关。

http://www.mathworks.com/matlabcentral/answers/162283-why-is-the-figure-in-my-eps-file-generated-using-matlab-r2014b-in-the-wrong-position-and-with-extra

我认为需要在示例程序中添加{f1.PaperPositionMode =“Auto”}。