Python matplotlib包其实是支持unicode的,但是我在实验中无法正常显示中文,比如说在pyplot.title()中输出中文,我试过以下几种方法均不奏效:
pyplot.title('中文')
pyplot.title("中文")
pyplot.title(u'中文')
pyplot.title(u"中文")
pyplot.title(u'\u4e2d\u6587') # (unicode编码)
pyplot.title('\u4e2d\u6587')
pyplot.title('\xe4\xb8\xad\xe6\x96\x87') # (utf-8编码)
原来是matplotlib.pyplot在显示时无法找到合适的字体,故显示乱码(我的显示为方框)
解决办法:
添加相关包,指定相关字体
from matplotlib import pyplot
from matplotlib.font_manager import FontProperties
font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=15)
pyplot.title(u'中文', fontproperties=font_set)
pyplot.xlabel(u'中文', fontproperties=font_set)
pyplot.ylabel(u'中文', fontproperties=font_set)