Linux下 Python matplotlib 包无法使用中文

官方办法
摘抄如下

# first method
matplotlib.rcParams['font.family'] = ['Source Han Sans TW', 'sans-serif']

# second method
matplotlib.rcParams['font.family'] = ['sans-serif']
matplotlib.rcParams['sans-serif'] = ['Source Han Sans TW']

官方办法不一定能解决问题,请按照以下步骤

  1. 查看本机已安装的中文字体 fc-list :lang=zh,如果没有字体的话,请自行搜索Linux 下如何安装中文字体
    已安装字体
  2. 将官方办法的Source Han Sans TW 修改为系统已安装的字体,在我们的case中可以使用 WenQuanYi Micro Hei,即:
# first method
matplotlib.rcParams['font.family'] = ['WenQuanYi Micro Hei', 'sans-serif']

# second method
matplotlib.rcParams['font.family'] = ['sans-serif']
matplotlib.rcParams['sans-serif'] = ['WenQuanYi Micro Hei']
  1. 如果在以上执行完还无法解决问题,按照以下方法任选其一:

    方法一:bash执行下列代码,删除cache文件

    rm -rf ~/.cache/matplotlib
    

    然后重新运行一遍(需要已经完成步骤1和2)
    方法二:在绘图代码头部加入以下代码,重新生成 cache 文件 (在matplotlib > v3.3.2)

    import matplotlib.font_manager
    matplotlib.font_manager._rebuild()
    
posted @ 2022-10-25 16:37  逍遥叹wan  阅读(100)  评论(0编辑  收藏  举报