Python繪圖顯示中文最簡單的解決辦法
你在學習Python的過程中,滿心期待地對整理好的數據繪圖時,Python卻辜負了你,把你的中文全部「翻譯」成了框框,猶如這樣:
此刻你的內心一定是萬馬奔騰的:what?!搞事情嗦~?
不用怕,本文來教你繪圖時顯示中文的最簡單且一勞永逸的終極辦法。
只需4步!就可以輕鬆KO這些調皮搗蛋。跟我來:
一. 查看系統字體文件夾
windows系統中,系統字體文件夾的路徑:C:windowsFonts,打開之後直接拉到底,看看你的系統里都有啥中文字體。我的長這樣:
這裡要注意圖中①與②的不同。
①是單一字體文件,②是幾個字體文件集合。分別右鍵查看二者屬性,哦……原來①是ttf文件,②是ttc文件。
(這句作為科普:ttc字體文件是微軟開發的新一代字體格式標準,它是由幾個ttf構成,這些ttf可以共享同一筆劃信息,從而有效節省了字體文件所佔空間。但是!有些軟體缺乏對這種格式字體的識別,所以可能會導致無法正確處理並顯示ttc字體。)
假如你想使用微軟雅黑字體,但是現在它是ttc文件。解決辦法:上網搜索微軟雅黑ttf,下載並放入系統字體文件夾C:windowsFonts內。
二. 查看字體英文名稱
這步無需多講,就是把你希望用的中文字體在下圖中找到對應的English name。
三. 簡單修改Python的字體配置文件
在jupyter notebook中,輸入以下代碼:
按照運行結果返回的位置,用Notepad++打開matplotlibrc配置文件。
按Ctrl+F,查找:#font.sans-serif。
結果在208行,刪除前面的注釋符#,並在冒號後面添加第二步表格中的某個English name。
舉個栗子,修改為下圖所示:
修改後保存退出。
四. 重啟Kernel
在jupyter notebook中,按下圖操作:
(這句是額外贈送:Python有個字體管理器font_manager.py,每次重啟Kernel後,它都會重新生成一個字體配置緩存文件,並修改了繪圖程序的字體設置,如下圖,所以根本不需要刪除這個文件再重啟Kernel。)
重新執行代碼後,之前那些不乖的框框都老實了,重現了她們應有的面貌:
測試一下:
①修改Python字體配置文件,非襯線體font.sans-serif:Microsoft YaHei, …………(省略)
②重啟Kernel並Run all,請直接看結果:
PERFECT!!!完美變成了微軟雅黑字體。你學會了嗎?
課外知識:
如果你不想修改系統默認配置文件,那麼就在每個ipynb文件中,輸入下面的代碼:
import matplotlib.pyplot as pltplt.rcParams[font.sans-serif]=[SimHei] #用來正常顯示中文標籤
推薦閱讀:
※【可印瑞黑第四次小測試】
※九句勵志的話送給正在奮鬥的你
※無需越獄,中英混排的 Kindle 電子書也能擁有好看的排版
※「胡萬進印」考