matplotlib.pyplot中文標題亂碼
阿新 • • 發佈:2019-01-03
繪圖的時候,部分原始程式碼如下,
plt.plot(x1,y1)
plt.xlabel("溫度")
plt.ylabel("溼度")
plt.show()
結果如下,標題亂碼
根據網上查詢的結果是,matplotlib.pyplot在顯示時無法找到合適的字型。 於是新增如下幾行:
from matplotlib.font_manager import FontProperties
font_set = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=12)
....
....
plt.plot(x1,y1)
plt.xlabel("溫度" ,fontproperties=font_set)
plt.ylabel("溼度",fontproperties=font_set)
plt.show()
結果如下,仍然有亂碼現象,在字串前增加u,即雖然我開頭已經有了,# -- coding:utf-8 -- ,但是這句是告訴python程式中的文字是utf-8編碼,讓python可以按照utf-8讀取,中文前加u就是告訴python後面的是個unicode編碼,儲存時按unicode格式儲存。或者將開頭# -- coding: gbk --也可。
plt.plot(x1,y1)
plt.xlabel(u"溫度",fontproperties=font_set)
plt.ylabel(u"溼度" ,fontproperties=font_set)
plt.show()