Matplotlib 中文乱码解决方案

终结乱码

Image credit: matplotlib.org

Linux系统

  1. 下载中文字体(黑体)文件,可以从 这里下载
  2. 将simhei.ttf文件拷贝到 /usr/share/fonts/ 里面
  3. 在Python中运行如下代码即可:
from matplotlib.font_manager import _rebuild
_rebuild() #reload一下

Windows系统

Windows系统中,只需要设置matplotlib使用系统内的中文字体即可

测试代码

import matplotlib.pyplot as plt

#在jupyter notebook 中显示图片
%matplotlib inline 

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

plt.plot((1,2,3),(4,3,-1))
plt.xlabel(u'横坐标')
plt.ylabel(u'纵坐标')
plt.show()

备注

似乎使用miniconda时会造成额外的问题,建议需要画图的开发环境使用anaconda安装python3。

下一页
上一页