使用print()时保持自定义图形字体大小

时间:2015-08-10 07:56:08

标签: font-size matlab-figure

我正在运行一个自编写的脚本,用于绘制和保存大量(超过100个)图形,并且我已使用

将轴文本设置为18pt

set(0,'defaultAxesFontSize',18);

使用.fig命令将数字保存为savefig(),字体大小正确。但是当我使用.jpg将它们保存为print(name, '-djpeg')(包含在LaTeX报告中)时,字体大小是常规默认大小(猜测大约10pt)。如果我打开其中一个.fig文件并执行文件>另存为,生成的.jpg文件具有所需的字体大小。

如何在命令行中解决此问题?

编辑:

我也尝试过使用saveas(gcf, name, 'jpg')但结果是一样的。

编辑2:

这是一个最小的例子

set(0,'defaultAxesFontSize',18);

x = linspace(0, 2*pi);

plot(x, sin(x))
title('Sine')
xlabel('x')
ylabel('y')
legend('y = sin(x)')

fig = strcat('Sine')
savefig(fig)
print(fig, '-djpeg')

坦克 Kajsa

1 个答案:

答案 0 :(得分:0)

我需要将纸张位置模式设置为自动,以使打印尺寸与屏幕上的图形相同。

这适用于所有数字

set(0,'defaultAxesFontSize',18);
set(0,'DefaultFigurePaperPositionMode','auto')

x = linspace(0, 2*pi);

figure(1)
plot(x, sin(x))
title('Sine')
xlabel('x')
ylabel('y')
legend('y = sin(x)')

fig = strcat('Sine')
savefig(fig)
print(fig, '-djpeg')

效果很好。