Matplotlib找不到基本字体
我试图在pyplot图形中使用Computer Modern(即标准LaTeX字体),但是,我得到了错误Matplotlib找不到基本字体,matplotlib,Matplotlib,我试图在pyplot图形中使用Computer Modern(即标准LaTeX字体),但是,我得到了错误 findfont: Font family ['serif'] not found. Falling back to DejaVu Sans. 我所做的就是: from matplotlib import rc rc('text', usetex=True) rc('font', **{'family': 'serif', 'serif': ['Computer Modern']})
findfont: Font family ['serif'] not found. Falling back to DejaVu Sans.
我所做的就是:
from matplotlib import rc
rc('text', usetex=True)
rc('font', **{'family': 'serif', 'serif': ['Computer Modern']})
我也发现了这个解决了同样的问题,但是,我不能安装答案中提到的软件包,因为我不是我正在使用的机器上的管理员。删除matplotlib缓存也没有帮助。不过,我已经找到了字体:
~/.local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/
其中有afm和ttf子文件夹(还有另一个),在这两个子文件夹中,我发现了如下文件
cmr10.afm
或
所以字体实际上是安装在计算机上的。fontlist-v330.json文件链接到
"fname": "fonts/afm/cmr10.afm"
对于现代计算机。我已经尝试手动将其更改为ttf文件,并且尝试为其提供完整路径,但没有效果。在这一点上,我对想法一无所知。如何解决此问题?您只需使用字体文件的实际名称即可:
from matplotlib import rc
rc('text', usetex=True)
rc('font', **{'family': 'serif', 'serif': ['cmr10']})
这很有效,谢谢!
from matplotlib import rc
rc('text', usetex=True)
rc('font', **{'family': 'serif', 'serif': ['cmr10']})