目录
问题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,才会更新缓存