matplotlib 中文乱码 & 字体库无中文字体问题

       

目录

问题1:matplotlib中文乱码

问题2:matplotlib 反馈没有 'SimHei'

STEP1(LINUX 安装中文字体): 

STEP2(更新matplotlib缓存):


问题1:matplotlib中文乱码

默认字体无法正常显示中文,需要更换字体,此处更换字体为SimHei:

 参考:Matplotlib中文乱码的3种解决方案_python_脚本之家

import matplotlib
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['font.serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False

附一些命令:

查看matplotlib的配置文件:matplotlib.matplotlib_fname(),一般是 matplotlibrc,类似bashrc
查看matplotlib的缓存地址:matplotlib.get_cachedir(),一般为 ~/.cache/matplotlib/

问题2:matplotlib 反馈没有 'SimHei'

查看matplotlib的字体有没有中文字体:matplotlib.font_manager.get_font_names()

发现字体库里没有SimHei字体,因为原Linux环境里没有SimHei。因此需要先在系统中安装中文字体(STEP1),再更新matplotlib缓存(STEP2)

STEP1(LINUX 安装中文字体): 

参考 Linux安装中文字体库,让中文界面更美观 | 《Linux就该这么学》

1. windows/fonts字体库里找到中文字体,例如SimHei
2. mkdir /usr/share/fonts/chinese
将中文字体复制到/usr/share/fonts/chinese
3. fc-cache -f -v
更新字体缓存
4. fc-list :lang=zh-cn
检查是否安装成功

STEP2(更新matplotlib缓存):

matplotlib.get_cachedir()获取缓存地址,再删除 缓存文件夹中的 fontlist***
若是jupyter notebook 则需要再重启Kernel,才会更新缓存

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值