彻底解决 matplotlib 中文乱码问题

彻底解决 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

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值