首頁 >後端開發 >Python教學 >python matplotlib中文顯示參數設定解析_python

python matplotlib中文顯示參數設定解析_python

韦小宝
韦小宝原創
2017-12-16 11:26:351686瀏覽

這篇文章主要介紹了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實作輸出帶顏色的字串案例分析

Python實作遺傳演算法的程式碼

以上是python matplotlib中文顯示參數設定解析_python的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn