python matplotlib 中文顯示亂碼設置
原因:
是matplotlib庫中沒有中文字體。1
解決方案:
1.進入C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data該文件夾下就能看到matplotlibrc配置文件,打開該配置文件
找到下面這行:然后,將前面的注釋去掉,save.
#font.serif : Bitstream Vera Serif, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
2.找中文字體放到matplotlib字體庫中。
在Windows文件夾下:C:\Windows\Fonts\Microsoft YaHei UI復制該字體,然后粘貼到C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fonts\ttf文件夾,並給它重命名為Vera.ttf。
注明:這一步的作用其實就是將matplotlib中一個默認的字體替換為我們復制過來的中文字體,將這個中文字體命名改為matplotlib中有的字體名。
3.在.py文件中添加:
#coding:utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標簽
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號
#有中文出現的情況,需要u'內容'
例子:
plt.plot((1,2,3),(4,3,-1))
plt.xlabel(u'橫坐標')
plt.ylabel(u'縱坐標')
plt.show()