环境:win10 + Python3.6(anaconda) + IDE(Pycharm)
问题:在使用matplotlib绘制图表时中文字符出现乱码(已作配置, 出错截图就不展示了)
解决办法:
一、在Python文件中使用matplotlib绘图时加入以下两行(import matplotlib.pyplot as plt)
- plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示中文标签
- plt.rcParams['axes.unicode_minus']=False #用来正常显示负号
据说这种方法每次都要手动修改,非常不方便,但其实只有两行我倒是觉得还可以接受
二、修改配置文件,一次性解决
- 你的目录\envs\你使用的环境名\Lib\site-packages\matplotlib\mpl-data
- 我看其他的教程里都说了要下载SimHei.ttf字体库,并安装到fonts目录下(这一步我没有做,因为以方法中也是使用的SimHei字体,但并不需要下载字体库,说明系统里是有的,但具体怎么调用的我就没必要操心了)
- 直接修改配置文件matplotlibrc(修改之前记得保存副本,以免出现错误无法恢复)
- 打开matplotlibrc文件,找到font.family和font.sans-serif这两行,去掉最前面的注释#,并在font.sans-serif这一行值中添加字体(黑体):SimHei
- 有的坐标轴的负号显示不正常,我们还要找到axes.unicode_minus这一行,去掉最前面的注释#,并把值设为False
- 删除usr/.matplotlib(不知道有没有必要,反正我是没删除就成功了)