我们通过 matplotlib 画图时,比如:
1 | import numpy as np |
中文会出现乱码。如图:
同时,伴随着如下错误信息:
1 | /opt/anaconda3/lib/python3.7/site-packages/matplotlib/backends/backend_agg.py:211: RuntimeWarning: Glyph 39064 missing from current font. |
临时解决办法,可以执行如下两条语句:
第一句是设置字体,设置了字体后,负号会变成乱码。
第二句是让负号的乱码正常显示。
1 | plt.rcParams['font.sans-serif'] = ['SimHei'] |
查看配置文件位置
1 | import matplotlib |
编辑修改文件 /opt/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
内容。
删除注释 #font.family : sans-serif
删除注释 #,并加入 SimHei
font.sans-serif : SimHei, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana,
Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
删除注释 #,True 改为 False
axes.unicode_minus : False
清除缓存
1 | rm -rf ~/.matplotlib |
刷新 Jupyter Notebook 的页面,发现设置已经生效了。