问题描述
我通过设置在 matplotlib 中使用乳胶
plt.rcParams.update({'mathtext.fontset': 'stix'})
plt.rcParams.update({'font.family': 'StixGeneral'})
我在研究中经常使用字母 $\ell$ 并且有一个小细节困扰着我。正如您在下面看到的,matplotlib 将小循环的符号渲染得更小,字母更倾斜。对我来说,它几乎看起来像一个垂直拉伸的 $e$。我尝试使用 "\mathrm{\ell}" 命令,但它没有改变任何东西。 有什么办法可以让符号看起来正常吗?
PS:由于某种原因,stackoverflow 似乎没有检测到数学模式 $。如果您知道如何解决它(或者我做错了什么),请指出或编辑问题。谢谢!
解决方法
原因是你在 matplotlib 中使用的字体。例如,使用以下设置,您将获得与背面相同的字母:
import matplotlib.pyplot as plt
import numpy as np
# Example data
t = np.arange(0.0,10,1)
s = np.arange(0.0,1)
plt.rc('text',usetex=True)
plt.rc('font',family='serif')
plt.xlabel(r'$\ell$',fontsize=30)
plt.ylabel(r'$\ell$',fontsize=30)
plt.plot(t,s)
plt.show()
你得到:
但是,在 Jupyterlab 中我无法重现。即使使用您的设置,它也会使用背面字体。
,事实证明,这对我来说是最简单的解决方案。感谢其他人指出字体问题。
而不是
plt.rcParams.update({'mathtext.fontset': 'stix'})
plt.rcParams.update({'font.family': 'STIXGeneral'})
我现在把第一行写成
plt.rcParams.update({'mathtext.fontset': 'cm'})
就像魅力一样。如果您像我一样不使用 TeX 而只使用 mathtext matplotlib 内置函数,这将很有帮助。