Aid Matplotlib支持中文(缺字库)解决方法

nick 2020-06-30 21:46:40 2020-06-30 22:12:17浏览次数:

解决总体思路如下:

  • 1.安装中文字体

    先查询是否有中文字体,终端输入

    fc-list :lang=zh  //注意冒号前面有空格
    

    若返回空则表示未安装中文字体,度娘下载simhei字体,放入

    /usr/share/fonts
    

    终端输入

    mkfontscale
     mkfontdir
    fc-cache
    

    此时在用fc-list :lang=zh,应该能看到中文字体,名称为SimHei,若不能重复以上步骤,并确定足够权限

  • 2.matplotlib使用中文字体 清空matplotlib缓存

    cd ~/.cache/matplotlib
    rm -rf *
    

    进入matplotlib配置文件目录:

    cd /usr/local/lib/python3.7/dist-packages/matplotlib/mpl-data
    vim matplotlibrc
    

    利用:/查找,按照如下要求进行编辑

    vim matplotlibrc #去掉注释
    font.sans-serif : SimHei,DejaVu Sans #冒号后加入SimHei,也可加入自定义字体
    axes.unicode_minus:False   
    
  • 3.加入重建字体缓存 在任意的py中加入并执行

    from matplotlib.font_manager import _rebuild
     _rebuild() #reload一下
    

    如果运行了jupyter,重启该服务即可 第三步可以尝试fc-cache -fv来重建字体缓存,这个自己试了

至此,准备好笑容迎接带中文的matplotlib

共 2 条回复

Bill
站长

很棒,找了很久了

Bill
站长