Python matplotlib pyplot中title() xlabel() ylabel()无法显示在中文(方框乱码)的解决办法

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)


你可能感兴趣的:(python,中文,乱码,matplotlib,pyplot)