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()

参考文献

https://www.cnblogs.com/YeewahChan/p/use_chinese_in_matplotlib.html#:~:text=在docker或linux中一劳永逸解决matplotlib中文显示问题 安装 mplfonts的安装方法是pip%3A %24 pip install -U,mplfonts 使用 安装好mplfonts之后,需要有一个初始化的配置过程 在终端执行 %24 mplfonts init 即可。

posted @ 2024-05-16 09:37    阅读(282)  评论(0编辑  收藏  举报