Matplotlib中的Helvetica与siunitx
我想创建与LaTeX文档相匹配的图形,并使用Helvetica字体。 我有胶乳Matplotlib中的Helvetica与siunitx,matplotlib,latex,Matplotlib,Latex,我想创建与LaTeX文档相匹配的图形,并使用Helvetica字体。 我有胶乳 \usepackage{helvet} \renewcommand{\familydefault}{\sfdefault} 设定 Python中的代码如下所示: import matplotlib.pyplot as plt import numpy as np import locale plt.rc('text',
\usepackage{helvet}
\renewcommand{\familydefault}{\sfdefault}
设定
Python中的代码如下所示:
import matplotlib.pyplot as plt
import numpy as np
import locale
plt.rc('text', usetex=True)
plt.rcParams['text.latex.preamble'] = [
r'\usepackage[detect-all,locale=DE]{siunitx}', #SI-Einheiten, Komma
r'\usepackage{helvet}', #Helvetica als Schrift
r'\usepackage{icomma}']
locale.setlocale(locale.LC_NUMERIC, "de_DE.UTF-8")
plt.ticklabel_format(useLocale=True)
x = [1, 2, 3, 4]
y = [5, 6, 7.2, 8.1]
plt.plot(x, y, marker="o", label="setting1")
plt.xticks(np.arange(1.0, 4.2, step=0.5))
plt.xlabel("x (\si{\milli\metre})")
plt.ylabel("y (\si{\pascal})")
plt.legend()
plt.grid(True)
plt.savefig('test.pdf', bbox_inches='tight')
问题是,图中的“Pa”与LaTeX中的“Pa”不匹配,将其添加到matplotlibrc文件对我来说很有效
mathtext.fontset : custom
mathtext.it : Helvetica:italic
另外,我需要在我的/usr/local/anaconda3/lib/python3.7/site packages/matplotlib/mpl data/fonts/ttf
目录中有Helvetica-sloble.ttf。Olga Botvinnik在她的博客中有一些很好的说明。总有一天,我会在我的电脑上放一套类似的指令
请注意,您必须清除~/.matplotlib
下的缓存才能刷新此缓存
Matplotlib表示不支持自定义字体集,这可能会在Matplotlib的未来更新中全部中断 添加Olga Botvinnik博客的链接以供参考: