這篇文章主要介紹了python matplotlib中文顯示參數設定解析,具有一定借鑒價值,對python有興趣的朋友可以參考下。
最近在學習python著名的繪圖套件matplotlib時發現,有時候圖例等設定無法正常顯示中文,於是就想把這個問題解決了。
PS:本文僅針對Windows,其他平台僅供參考。
原因
大致上是matplotlib函式庫中沒有中文字體。
我安裝的anaconda,這是對應的matplotlib的字體所在資料夾(怎麼找到matplotlib設定檔夾所在,下面解決方案會敘述,easyman~)。
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該資料夾下就能看到matplotlibrc設定檔。
1)開啟該設定文件,找到下面這行:
#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\MicrosoftYaHeiUI複製該字體,然後貼上到C:\Anaconda64\Lib\site-packages\matplotlib\mpl-data\fonts\ttf資料夾,並給它重命名為Vera.ttf。
註明:這一步的作用其實就是將matplotlib中一個預設的字體替換為我們複製過來的中文字體,將這個中文字體命名改為matplotlib中有的字體名稱。
其實,還有其他方案,但似乎在我這兒沒成功。
補充
座標軸的負號正常顯示
#去掉了注释符号,同时,改为False axes.unicode_minus : False
範例
#coding:utf-8 import matplotlib.pyplot as plt plt.plot((1,2,3),(4,3,-1)) plt.xlabel(u'横坐标') plt.ylabel(u'纵坐标') plt.show()
#總結
##以上就是本文關於python matplotlib中文顯示參數設定解析的全部內容,希望對大家有幫助。有興趣的朋友可以繼續參考本站:相關推薦:
python使用正規表示式連接符號的範例程式碼
以上是python matplotlib中文顯示參數設定解析_python的詳細內容。更多資訊請關注PHP中文網其他相關文章!