中文乱码

参考:

Linux 系统下 matplotlib 中文乱码解决办法

matplotlib图例中文乱码?

下载中文字体

simhei

存放

找到matplotlib字体存放位置

>>> import matplotlib
>>> matplotlib.matplotlib_fname()
'/home/zj/software/anaconda/anaconda3/lib/python3.7/site-packages/matplotlib/mpl-data/matplotlibrc'

进入mpl-data/fonts/ttf文件夹,存放刚才下载的simhei.ttf

配置

可以全局配置,也可以局部配置

全局配置

mpl-data有配置文件matplotlibrc,添加以下配置

font.family         : sans-serif
font.sans-serif     : SimHei, DejaVu Sans, Bitstream Vera Sans, Computer Modern Sans Serif, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif
axes.unicode_minus  : False

局部配置

在程序中配置使用中文字体

plt.rcParams['font.sans-serif']=['simhei'] #用来正常显示中文标签
plt.rcParams['axes.unicode_minus']=False #用来正常显示负号

缓存

参考:第四步:删除缓存

删除之前的缓存

$ rm -rf ~/.cache/matplotlib
# 或
$ rm -rf ~/.matplotlib

也可以文件中使用命令重载字体

from matplotlib.font_manager import _rebuild
_rebuild()  # reload一下