在Python的matplotlib.pyplot图表中显示中文

python的str默认是ascii编码,和unicode编码冲突,因此经常会报以下错误:

UnicodeDecodeError: ‘ascii’ codec can’t decode byte 0xe5 in position 108: ordinal not in range(128)

解决这个问题很简单,只要在代码加入以下语句:

import sys
reload(sys)
sys.setdefaultencoding('utf8')

代码是不报错了,但如果使用matplotlib.pyplot进行绘图时,图表的标题等位置带中文的话,还是会显示为乱码。

可以在代码中加入以下语句,即可顺利带上中文:

from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False


你可能感兴趣的:(Python)