matplotlib本身没有中文字体的支持。
首先,在window系统的C:\Windows\Fonts下:找一个中文的字体,复制出来,一般都是ttf后缀格式的,如果不是,改成.ttf。
在Linux下进入Python命令提示符状态下:
import matplotlib
matplotlib.matplotlib_fname()
然后就会打印出matplotlibrc文件所在的位置,大概是这样:
(例如)u'/usr/local/lib/python2.7/dist-packages/matplotlib-1.5.1-py2.7-linux-i686.egg/matplotlib/mpl-data/matplotlibrc'
用管理员权限打开这个文件,找到带有
#font.serif:
#font.family:
的两行,取消注释之,保存。
把前面的ttf文件改成Vera.ttf。管理员权限拷贝到
(例如)u'/usr/local/lib/python2.7/dist-packages/matplotlib-1.5.1-py2.7-linux-i686.egg/matplotlib/mpl-data/fonts/ttf/'下,替换原来的默认字体文件。
在python的代码里首行声明:
#coding=utf-8
就可以改变成能够显示中文的了。