import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei'] # 用来正常显示中文标签
plt.rcParams['axes.unicode_minus'] = False # 用来正常显示负号
使用matplotlib画图,在Windows下正常,在linux环境下中文乱码
Font family [‘sans-serif’] not found.Falling back to DejaVu Sans
在linux环境中的matplotlib里装入SIMHEI.TTF字体即可
1、点击下载SIMHEI.TTF字体
2、把字体放到指定目录
# python 终端获取路径
import matplotlib
print(matplotlib.matplotlib_fname())
#/root/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
# 下载好的SIMHEI.TTF放到该目录下
# (shell)
mv ./SIMHEI.TTF /root/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/fonts/ttf/
3、删除matplotlib的缓冲目录
# python 终端获取缓存路径
import matplotlib
print(matplotlib.get_cachedir())
# /root/.cache/matplotlib
# 删除缓冲目录
# (shell)
rm -rf /root/.cache/matplotlib
4、修改matplotlibrc文件
# (shell)
vim /root/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc
# 修改的内容
font.family : sans-serif
# 去掉前面的#
font.sans-serif : SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
# 去掉前面的#,并在冒号后面添加SimHei
axes.unicode_minus : False
# 去掉前面的#,并将True改为False
5、重新测试,问题搞定。