百度或谷歌matplotlib庫繪圖時產生中文亂碼問題,得到的最多的答案就是下面幾行代碼:
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['SimHei']
很明顯,這是因為mac下沒有SimHei字體庫,于是大多數教程都叫你怎么下載SimHei字體怎么放到mac的字體庫,以及配置matplotlib的字體庫,可是這些教程大都是幾年前的,有的已經失效,有的則過于復雜。
于是...為什么要費這些功夫呢,直接找找mac底下有哪些支持中文的字體庫不就好了嘛...然后我還真找到了Arial Unicode MS
,親測可用,代碼如下:
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
不信你可以用下面的完整的繪圖代碼試試看:
測試代碼
import numpy as np
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif'] = ['Arial Unicode MS']
plt.figure()
names = ['5', '10', '15', '20', '25']
x = range(len(names))
y = [0.855, 0.84, 0.835, 0.815, 0.81]
y1=[0.86,0.85,0.853,0.849,0.83]
plt.plot(x, y, marker='o', mec='r', mfc='w',label=u'y=x^2曲線圖')
plt.plot(x, y1, marker='*', ms=10,label=u'y=x^3曲線圖')
plt.legend() # 讓圖例生效
plt.xticks(x, names, rotation=45)
plt.margins(0)
plt.subplots_adjust(bottom=0.15)
plt.xlabel(u"time(s)鄰居") #X軸標簽
plt.ylabel("RMSE") #Y軸標簽
plt.title("我就看看中文能不能用") #標題
plt.show()