彻底解决 matplotlib 中文乱码问题
问题:
matplotlib 显示中文乱码问题,是因为没有对应的字体库,网上给的解决方案是引入字体库 SimHei
import matplotlib as mlp
mlp.rcParams['font.family'] = 'SimHei'
mlp.rcParams['axes.unicode_minus'] = False
但是很多人照这样操作后,还是不行。跟不愿意是电脑里没有 SimHei 字体库
解决方案:
1、从网上下载字体库 SimHei,这里可以下载 对应的Mac or Windows版本。
下载链接: http://www.xiazaiziti.com/210356.html
2、查看
matplotlib 使用的字体库路径import matplotlib print("matplotlib字体路径: ", matplotlib.matplotlib_fname()) print("matplotlib缓存路径: ", matplotlib.get_cachedir())例如这是我的,
cd 到fonts/ttf 查看有无SimHei 字体库:
cd /Users/kunlun/.pyenv/versions/tf2_py371/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/
若没有(肯定没有)将下载的 SimHei.ttf 移动到 “... /matplotlib/mpl-data/fonts/ttf/ ” 目录mv SimHei.ttf /Users/kunlun/.pyenv/versions/tf2_py371/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/
3、修改 matplotlib 配置文件
vim 刚才哪个 matplotlib字体路径: vim /Users/kunlun/.pyenv/versions/tf2_py371/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
然后这样修改
4、删除matplotlib缓存路径: /Users/kunlun/.matplotlib 里的tex.cache、fontlist-v300.json 文件
5、重启IPython, 见证奇迹
6、若是还不行,你在加上这句import matplotlib as mlp mlp.rcParams['font.sans-serif'] = 'SimHei' mlp.rcParams['axes.unicode_minus'] = False
本文提供了一套详细的步骤来解决使用Matplotlib时遇到的中文乱码问题。首先需要下载并安装SimHei字体,接着定位到Matplotlib的字体路径,并将字体文件复制到指定目录。之后修改Matplotlib配置文件,并清除缓存。最后通过代码设置字体为SimHei。




833

被折叠的 条评论
为什么被折叠?



