1. 程式人生 > >Python matplotlib pyplot中title() xlabel() ylabel()無法顯示在中文(方框亂碼)的解決辦法

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)