UserWarning:Glyph24212(\N{CJKUNIFIEDIDEOGRAPH-5E94})missingfromcurrentfont.解决步骤解决这个问题,可以按照下面的做法来实现:
1.首先找到matplotlib库字体在那里。
importmatplotlibprint(matplotlib.matplotlib_fname())例如我这里得到的地址就是
/Users/user_name/miniforge3/lib/python3.9/site-packages/matplotlib/mpl-data/matplotlibrc我们就需要进入到matplotlibrc上一级目录即可
2.在这个字体网址中找到你需要下载的字体。例如我这里需要下载宋体,就需要搜索SimSun,然后下载即可。至于,我们想找的字体的英文名字是什么,可以去这个字体名字上看。
3.将下载好的SimSun.tff文件放在上面提到的/Users/user_name/miniforge3/lib/python3.9/site-packages/matplotlib/mpl-data/fonts/ttf文件夹中。就像下面这个样子
4.然后修改下面这个文件路径的内容。这个路径就是你在步骤1中获得的地址(和我下面的这个不一样的)。为了保险起见,你可以先备份这个文件一份。
/Users/user_name/miniforge3/lib/python3.9/site-packages/matplotlib/mpl-data/matplotlibrc需要修改的内容有:
a.你搜索我下面图中箭头所指的关键词,然后加入你刚刚下载的字体名称。就像我下载的是SimSun.tff,所以在下面两处中加入的就是SimSun
b.为了防止中文的-出现乱码,需要修改下面的内容。本来axes.unicode_mius:True,现在需要将其修改为False.
5.然后输入下面的代码,刷新matplotlib的字体缓存
importshutilimportmatplotlibshutil.rmtree(matplotlib.get_cachedir())执行完毕后,就可以使用matplotlib库来显示中文了。使用下面的代码就可以使用宋体了。
module‘matplotlib.font_manager‘hasnoattribute‘_rebuild‘解决方法