Matplotlib:为什么图例字体不显示为 Latex 渲染

Matplotlib:为什么图例字体不显示为 Latex 渲染

以下是 Python 脚本生成的 PDF 输出:

例子

如您所见,标签和标题在 Latex 渲染中正确显示。除了 Latex 字体不适用于图例,我不明白为什么。

下面是 Python 脚本:

rc_fonts = {
    "text.usetex": True,
}
plt.rcParams.update(rc_fonts)

fig, axes = plt.subplots()
plt.xscale('log')
plt.xlabel(r'$1/\sigma$', fontsize=10, fontweight='bold')
plt.ylabel(r'FoM - GCsp + XC', fontsize=10, fontweight='bold')
plt.title(r'FoM - GCsp + XC vs 1/$\sigma$ for $\alpha = b_{sp}/b_{ph}$', fontsize=10, fontweight='bold')
array_z_fid = [ '0.9595', '1.087', '1.2395', '1.45', '1.688' ]
x_major = mpl.ticker.LogLocator(base = 10.0, numticks = 20)
axes.yaxis.set_major_locator(x_major)
x_minor = mpl.ticker.LogLocator(base = 10.0, subs = np.arange(1.0, 10.0)*0.1, numticks = 10)
axes.xaxis.set_minor_locator(x_minor)
axes.yaxis.set_major_locator(MaxNLocator(integer=True))

# Plot each curve
inv_sigma = 1./sigma
axes.plot(inv_sigma, FoM_final, label=r'common bias - bin : '+str(j+1)+' ; z = '+array_z_fid[j])
# Legend
axes.legend(fontsize=8, loc="best")

如果有人能告诉我如何将 Latex 字体应用于图例,那就好了。

附言:最后说一句,在我的代码片段中,为什么我不能放入$\alpha = b_{\text{sp}}/b_{\text{ph}}$获取spph垂直下标?

相关内容