我尝试使用matplotlib
生成数据,其中默认情况下所有文本都是sans-serif(Open Sans)。关于SO的一些问题以及Open Sans文档提出了类似
matplotlib.rc('text', usetex=True)
matplotlib.rcParams['text.latex.preamble'] = [
r'\usepackage[default,scale=0.85]{opensans}'
]
应该可以工作,但我看到了serif字体。例如,上面使用了类似于Computer Modern和
的内容matplotlib.rcParams['text.latex.preamble'] = [
r'\usepackage[charter,expert,euro]{mathdesign}',
r'\usepackage[default,scale=0.85]{opensans}'
]
使用宪章。添加\renewcommand{\familydefault}{\sfdefault}
之类的内容无效。
如何强制matplotlib
使用LaTeX,默认情况下对所有文本(轴,标签,注释等)使用指定的sans-serif字体?
FWIW,当我不使用LaTeX(text.usetex=False
)I don't get Open Sans as expected时,我确实得到了sans-serif。例如
font = {'family': 'sans-serif', 'sans-serif': ['Open Sans','sans-serif']}
plt.rc('font', **font)
导致sans-serif字体不是Open Sans。我在其他工具或应用程序中使用Open Sans没有任何问题,包括LaTeX / TeX工具。