首页 > 解决方案 > 如何在 matplotlib 中正确使用字体?

问题描述

我正在尝试在 Ubuntu 18.04.5(实际上是 Google colab)上使用 Python 3.7.10 和 matplotlib 3.2.2 以指定字体绘制一些字符。

我想我已经STHeiti正确安装了字体,因为这段代码

import matplotlib.font_manager as mfm
mfm.findSystemFonts()

['/usr/share/fonts/truetype/liberation/LiberationMono-Regular.ttf',
 '/root/.fonts/STHeiti Medium.ttc',
 '/root/.fonts/STHeiti Light.ttc',
...

和这段代码

prop = mfm.FontProperties(fname="/root/.fonts/STHeiti Light.ttc")
plt.text(0.5, 0.5, u'中文', fontproperties=prop)
plt.show()

正确绘制字符和此代码

prop.get_name()

'Heiti TC'

然而,这段代码

matplotlib.rcParams['font.family'] = ['Heiti TC']
plt.text(0.5, 0.5, u"中文")

仍然绘制空白框而没有任何错误。

在此处输入图像描述

我错过了什么?

标签: pythonmatplotlibfonts

解决方案


推荐阅读