失败方法
-
增加
plt.rcParams['font.sans-serif'] = ['SimHei'] # Or any other Chinese characters
-
依然报错:
findfont: Font family ['sans-serif'] not found. Falling back to DejaVu Sans.
有效方法
- 问题的原因是库中的
font
文件夹中不包含相关字体
接下来是正片:
下载SimHei
-
放入目录
fonts/ttf
下
获取目录的具体方法:终端中打开 python,执行下面语句:
>>> import matplotlib
>>> print(matplotlib.matplotlib_fname())
得到:/Users/robin/software/anaconda3/envs/tensorflow/lib/python3.6/site-packages/matplotlib/mpl-data/matplotlibrc
我们的目标目录即为:/Users/robin/software/anaconda3/envs/tensorflow/lib/python3.6/site-packages/matplotlib/mpl-data
,使用访达访问找到ttf
文件夹即可:
将下载的文件直接拖入即可。
删除缓存目录
删除以下命名产生的缓存目录:
>>> import matplotlib
>>> matplotlib.get_cachedir()
我这里是'/Users/robin/.matplotlib'
,退出后使用rm -rf /Users/robin/.matplotlib
删除即可
修改配置文件
使用 vim 编辑器或者直接打开文件到文本编辑器,找到三个地方进行修改:
修改前:
修改后:
重启
最后重启编译器即可成功显示汉字。保险起见,我是清除缓存+重启。
主要参考:Font family [‘sans-serif‘] not found.Falling back to DejaVu Sans.解决办法