Python在Matplotlib圖中顯示中文字體的操作方法
1. 說明
本篇主要針對在Ubuntu系統(tǒng)中,matplotlib顯示不了中文的問題,尤其是在無法安裝系統(tǒng)字體的情況下,解決Python繪圖時(shí)中文顯示的問題。
2. 在系統(tǒng)中安裝字體
$ fc-list :lang=zh #
查看中文字體名稱及其安裝路徑,相對于英文字體,中文字體文件一般較大。
如果無中文字體,可使用apt-get安裝,具體方法如下:
$ apt-cache search font|grep Chinese # 查看可安裝的中文字體 $ sudo apt-get install fonts-wqy-zenhei # 安裝字體, 一般字體會(huì)被安裝到/usr/share/fonts/的某個(gè)子目錄下,也可以從windows中把ttf,ttc復(fù)制到fonts目錄下。 $ cd /usr/share/fonts/truetype/xxx/ # cd到字體安裝目錄下 $ sudo mkfontscale $ sudo mkfontdir $ fc-cache -v # 更新字體 $ fc-list :lang=zh # 此時(shí)就可以看到新裝的字體
3. 在Python中指定字體
此時(shí)python就可以使用新安裝的字體了,方法是在Python中設(shè)置默認(rèn)字體.
plt.rcParams['font.sans-serif'] = ['Droid Sans Japanese']
用以下方法可列出Python可用的系統(tǒng)字體名稱及路徑。
from os import path from matplotlib.font_manager import fontManager for i in fontManager.ttflist: print(i.fname, i.name)
4. 在程序中指定字體文件
如果由于權(quán)限的限制,無法安裝系統(tǒng)字體,也可以在程序中直接指定程序路徑load字體,具體方法如下:
zhfont = mpl.font_manager.FontProperties(fname='../../font/wqy-zenhei.ttc') plt.xlabel(u'測試一下 ', fontsize=20, fontproperties=zhfont)
注意:用docker+notebook寫程序時(shí),需要把字體存放在有權(quán)訪問的路徑之下。
5. 為Python安裝新字體
把字體復(fù)制到 /usr/local/lib/python3.6/site-packages/matplotlib/mpl-data/fonts/ttf/目錄下,然后刪除 /root/.cache/matplotlib/,就可以使用新的字體了。
總結(jié)
以上所述是小編給大家介紹的Python在Matplotlib圖中顯示中文字體的方法,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉(zhuǎn)載,煩請注明出處,謝謝!
相關(guān)文章
Python Opencv實(shí)戰(zhàn)之文字檢測OCR
這篇文章主要為大家詳細(xì)介紹了如何利用Python Opencv實(shí)現(xiàn)文字檢測OCR功能,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,需要的可以參考一下2022-08-08pandas數(shù)據(jù)處理之繪圖的實(shí)現(xiàn)
這篇文章主要介紹了pandas數(shù)據(jù)處理之繪圖的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06詳解Pytorch如何利用yaml定義卷積網(wǎng)絡(luò)
大多數(shù)卷積神經(jīng)網(wǎng)絡(luò)都是直接通過寫一個(gè)Model類來定義的,這樣寫的代碼其實(shí)是比較好懂,也很方便。但是本文將介紹另一個(gè)方法:利用yaml定義卷積網(wǎng)絡(luò),感興趣的可以了解一下2022-10-10Python巧用SnowNLP實(shí)現(xiàn)生成srt字幕文件
SnowNLP是一個(gè)可以方便的處理中文文本內(nèi)容的python類庫,本文主要為大家詳細(xì)介紹了Python如何巧用SnowNLP實(shí)現(xiàn)將一段話一鍵生成srt字幕文件,感興趣的可以了解下2024-01-01Python中關(guān)于Sequence切片的下標(biāo)問題詳解
這篇文章主要給大家介紹了Python中關(guān)于Sequence切片下標(biāo)問題的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06使用Django實(shí)現(xiàn)商城驗(yàn)證碼模塊的方法
本文主要涉及圖形驗(yàn)證碼的相關(guān)功能,主要包括,圖形驗(yàn)證碼獲取、驗(yàn)證碼文字存儲、驗(yàn)證碼生成等。需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-06-06python的ImageTk.PhotoImage大坑及解決
這篇文章主要介紹了python的ImageTk.PhotoImage大坑及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-11-11