Latex 解释器 + 在 MATLAB 中放大字体大小 降低绘图中的文本分辨率

Latex interpreter + enlarge font size in MATLAB lower text resolution in plot

我在绘图时一直使用shadedErrorBar,使用shadedErrorBar后的部分代码如下:

plot1 = shadedErrorBar(tau_vec, mean(deg_20_hubs_0), sd_deg_20_hubs_0, 'b-o', 1);   hold on;
plot2 = shadedErrorBar(tau_vec, mean(deg_20_hubs_1), sd_deg_20_hubs_1, 'r-o', 1);
plot3 = shadedErrorBar(tau_vec, mean(deg_40_hubs_0), sd_deg_40_hubs_0, 'b-x', 1);
plot4 = shadedErrorBar(tau_vec, mean(deg_40_hubs_1), sd_deg_40_hubs_1, 'r-x', 1);
hold off;
set(gca, 'FontSize', 15);
xlabel('$\log_2 C_\tau$', 'Interpreter', 'latex'); ylabel('ExNVI');
xlim([-13, 13]);
ylim([0, 1]);

I=legend('$\bar{d}=20$; no hub   ', '$\bar{d}=20$; with_hubs   ', '$\bar{d}=40$; no hub   ', '$\bar{d}=40$; with hubs   ', ...
'Location', 'SouthWest');
set(I, 'Interpreter', 'latex', 'fontsize', 15);

if(off_diag==10 && N==500)
    set(I, 'visible', 'on');
else
    set(I, 'visible', 'off');
end

box on;
set(gca,'units','centimeters');
pos = get(gca,'Position');
ti = get(gca,'TightInset');

set(gcf, 'PaperUnits','centimeters');
set(gcf, 'PaperSize', [pos(3)+ti(1)+ti(3)+0.6 pos(4)+ti(2)+ti(4)+0.6]);
set(gcf, 'PaperPositionMode', 'manual');
set(gcf, 'PaperPosition',[0 0 pos(3)+ti(1)+ti(3)+0.6 pos(4)+ti(2)+ti(4)+0.6]);

saveas(fig, sprintf('./output/offdiag_%d_N_%d.pdf', off_diag, N));

生成的绘图具有像这样的低分辨率文本:

但是曲线的分辨率很好。当我尝试删除乳胶解释器时问题消失了,但是否可以保留它并修复分辨率?我在 Windows.

中使用 MATLAB 2014b 绘制了绘图

非常感谢!

set(gcf, 'renderer','painters');

将解决问题。它会将图形呈现为矢量图形,这是更好的选择,因为您使用的是 pdf 格式。还使用 print 命令而不是 saveas:

指定分辨率
print(fig, '-dpdf', '-r600', 'myFigure.pdf')