小编Vib*_*bex的帖子

无法在 matplotlib 中使用自定义字体

我在 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 一样。我已经查看了所有内容,但找不到解决此问题的方法。

python fonts matplotlib python-3.x

2
推荐指数
1
解决办法
7767
查看次数

标签 统计

fonts ×1

matplotlib ×1

python ×1

python-3.x ×1