matplotlib中文显示问题解决
方式一:修改配置文件参数
- matplotlib.matplotlib_fname()
- 查看字体路径
- matplotlib.get_cachedir()
- 查看缓存路径
- 下载中文字体(黑体,看准系统版本)
- 下载 arial unicode ms 字体到 /home 目录
- 拷贝字体到 usr/share/fonts 下:
- sudo cp ~/arial\ unicode\ ms.ttf /usr/share/fonts/arial\ unicode\ ms.ttf
- 修改配置文件matplotlibrc 并且在~/.matplotlib/matplotlibrc也进行修改
- 在安装的地方找到虚拟环境ai/lib/python3.6/site-packages/matplotlib/mpl-data目录下面,修改下面三项配置
- <1> 查找并删除font.family和font.sans-serif两行前的#
- <2> 并在font.sans-serif后添加中文字体(字体名), …(其余不变)
- window的 黑体 常规(simhei.ttf可以) 仿宋 常规(simfang.ttf在Ubuntu中就不行)
- <3> axes.unicode_minus : False;使其值为False;否则无法显示负号
- 在安装的地方找到虚拟环境ai/lib/python3.6/site-packages/matplotlib/mpl-data目录下面,修改下面三项配置
- 删除matplotlib字体缓存:
- rm -rf ~/matplotlib/fontList.json
方式二:动态修改
- from pylab import mpl
- mpl.rcParams[‘font.sans-serif’] = [‘SimHei’]
- mpl.rcParams[‘axes.unicode_minus’] = False