matplotlib中文乱码(linux中没有中文字体)
在docker或linux中一劳永逸解决matplotlib中文显示问题
安装
mplfonts的安装方法是pip: $ pip install -U mplfonts
使用
安装好mplfonts之后,需要有一个初始化的配置过程
在终端执行$ mplfonts init即可。
测试
import matplotlib.pyplot as plt
from mplfonts import use_font
FONT_NAMES = {
'Noto Sans Mono CJK SC': 'Noto等宽',
'Noto Serif CJK SC': 'Noto宋体',
'Noto Sans CJK SC': 'Noto黑体',
'Source Han Serif SC': '思源宋体',
'Source Han Mono SC': '思源等宽',
'SimHei': '微软雅黑'
}
def test_chinese():
for font_name, desc in FONT_NAMES.items():
use_font(font_name)
fig = plt.figure(figsize=(4, 1))
ax = plt.Axes(fig, [0., 0., 1., 1.])
ax.set_axis_off()
fig.add_axes(ax)
plt.text(.1, .6, font_name, fontsize=20)
plt.text(.1, .2, desc, fontsize=20)
plt.show()
test_chinese()