在使用spyder完成Matplotlib模块实现数据可视化时出现Glyph *** missing from current font。错误问题,经查阅资料综合网上给出的解决方案,总结如下:
问题原因:matplotlib自带的字体库不支持中文
第一步:下载中文字体包常用的中文字体为:SimHei
给出一下链接可选择:
https://github.com/StellarCN/scp_zh/blob/master/fonts/SimHei.ttf http://www.xiazaiziti.com/210356.html https://www.wfonts.com/font/simhei第二步:将下载的中文字体包拷贝到matplotlib的字体库中
如何查看matplotlib字体库路径:
1.首先使用matplotlib_fname函数找到对应的安装包所在位置,方法如下:
import matplotlib print(matplotlib.matplotlib_fname())
2.在得到的路径后添加/fonts/ttf,即可得到matplotlib字体库的路径为
D:anaconda3Libsite-packagesmatplotlibmpl-datafontsttf
将所下载的字体包中:SimHei.ttf文件拷贝到该路径下
第三部:修改matplotlibrc文件在matplotlibrc安装位置中以文档方式打开matplotlibrc文件,找到font.serif,font.sans-serif所在位置,如下如所示。在冒号后面加入SimHei,保存退出,重启spyder,完成!
D:anaconda3libsite-packagesmatplotlibmpl-datamatplotlibrc
ps:一般matplotlib会默认使用"font.serif:"后面的字体(排在第一位的),所以如果想换成其他字体,将其他字体名字放在"font.serif:"后面即可



