cannot import name _rebuild from matplotlib.font_manager
使用matplotlib画图中文显示乱码问题
- 第一步执行以下命令获取matplotlibrc文件路径
import matplotlib
print(matplotlib.get_data_path()) # 数据路径
-
下载SimHei.ttf(也可以到官网下载,但是速度很慢)
- 百度云地址
链接:https://pan.baidu.com/s/1ISu44F5TPAjgLy7cxzz7Fg
提取码:digl- 夸克网盘地址
链接:https://pan.quark.cn/s/bfb5f46500d1
提取码:v7df
-
将SimHei.ttf复制到前面获取到的mpl-data下的fonts\tff路径下
-
修改matplotlibrc内容
可以使用ctrl+f搜索关键字找到需要修改的行
font.family: sans-serif font.sans-serif: SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif axes.unicode_minus: False
注意需要去掉前面的#!!!
-
重新加载matplotlib
- 方法一
from matplotlib.font_manager import _rebuild _rebuild()
该方法可能还是会报错,如下图所示,则采用方法二
- 方法二
import shutil import matplotlib shutil.rmtree(matplotlib.get_cachedir())
我是用的方法的语句解决问题的。