python matplotlib 中文顯示引數設定

                                    

最近在學習python著名的繪圖包matplotlib時發現,有時候圖例等設定無法正常顯示中文,於是就想把這個問題解決了。

PS:本文僅針對Windows,其他平臺僅供參考。

原因

大致就是matplotlib庫中沒有中文字型。1
我安裝的anaconda,這是對應的matplotlib的字型所在資料夾(怎麼找到matplotlib配置資料夾所在,下面解決方案會敘述,easy man~)。

C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fonts\ttf

解決方案

現在整理一下我認為比較好的解決方案:

每次編寫程式碼時進行引數設定

#coding:utf-8
import matplotlib.pyplot as plt
plt.rcParams['font.sans-serif']=['SimHei'] #用來正常顯示中文標籤
plt.rcParams['axes.unicode_minus']=False #用來正常顯示負號
#有中文出現的情況,需要u'內容'

一勞永逸(推薦)

import matplotlib
matplotlib.matplotlib_fname() #將會獲得matplotlib包所在資料夾

然後進入C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data

然後,將前面的註釋去掉!
2)找中文字型放到matplotlib字型庫中。
在Windows資料夾下:C:\Windows\Fonts\Microsoft YaHei UI

舉例

#coding:utf-8
import matplotlib.pyplot as plt
plt.plot((1,2,3),(4,3,-1))
plt.xlabel(u'橫座標')
plt.ylabel(u'縱座標')
plt.show()


matplotlib 中文亂碼解決

官網-Customizing matplotlib

matplotlib中,修改配置檔案,讓它預設使用的字型就是中文字型

解決matplotlib中文亂碼問題(Windows)

python畫圖包seaborn和matplotlib中文字型顯示

如何在matplotlib裡顯示中文

關聯文章