我在 Windows 上的 Python 3.7.3 上获取与 Matplotlib(版本 3.1.1)一起使用的自定义字体时遇到问题。标准方式使用
import matplotlib as mpl
mpl.rcParams['font.family'] = 'sans-serif'
mpl.rcParams['font.sans-serif'] = [FONTNAME]
Run Code Online (Sandbox Code Playgroud)
适用于系统上预安装的一系列字体。我最近手动安装了 Lato 系列字体。但是,当我使用“Lato”作为 FONTNAME 时,Matplotlib 默认返回 Deja Vu Sans,甚至不会抛出任何错误。我还使用重建字体缓存
mpl.font_manager._rebuild()
Run Code Online (Sandbox Code Playgroud)
当我运行时,现在会出现几种名为“Lato”的字体
mpl.font_manager.fontManager.ttflist
Run Code Online (Sandbox Code Playgroud)
例如
<Font 'Lato' (Lato-Semibold.ttf) normal normal semibold normal>,
<Font 'Lato' (Lato-Thin.ttf) normal normal 400 normal>,
...
Run Code Online (Sandbox Code Playgroud)
然而这些情节看起来仍然像是使用 Deja Vu Sans 一样。我已经查看了所有内容,但找不到解决此问题的方法。