Python繪圖顯示中文最簡單的解決辦法

你在學習Python的過程中,滿心期待地對整理好的數據繪圖時,Python卻辜負了你,把你的中文全部「翻譯」成了框框,猶如這樣:

此刻你的內心一定是萬馬奔騰的:what?!搞事情嗦~?

不用怕,本文來教你繪圖時顯示中文的最簡單且一勞永逸的終極辦法。

只需4步!就可以輕鬆KO這些調皮搗蛋。跟我來:


一. 查看系統字體文件夾

windows系統中,系統字體文件夾的路徑:C:windowsFonts,打開之後直接拉到底,看看你的系統里都有啥中文字體。我的長這樣:

這裡要注意圖中①與②的不同。

①是單一字體文件,②是幾個字體文件集合。分別右鍵查看二者屬性,哦……原來①是ttf文件,②是ttc文件。

黑體屬性: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。

舉個栗子,修改為下圖所示:

刪掉注釋符#,並在冒號後面添加STXinwei,即華文新魏

修改後保存退出。


四. 重啟Kernel

在jupyter notebook中,按下圖操作:

(這句是額外贈送:Python有個字體管理器font_manager.py,每次重啟Kernel後,它都會重新生成一個字體配置緩存文件,並修改了繪圖程序的字體設置,如下圖,所以根本不需要刪除這個文件再重啟Kernel。)

每次重啟Kernel,該文件都會自動重新生成並刷新字體配置

重新執行代碼後,之前那些不乖的框框都老實了,重現了她們應有的面貌:

已顯示華文新魏中文字體


測試一下:

①修改Python字體配置文件,非襯線體font.sans-serif:Microsoft YaHei, …………(省略)

②重啟Kernel並Run all,請直接看結果:

PERFECT!!!完美變成了微軟雅黑字體。你學會了嗎?


課外知識:

如果你不想修改系統默認配置文件,那麼就在每個ipynb文件中,輸入下面的代碼:

import matplotlib.pyplot as pltplt.rcParams[font.sans-serif]=[SimHei] #用來正常顯示中文標籤

推薦閱讀:

【可印瑞黑第四次小測試】
九句勵志的話送給正在奮鬥的你
無需越獄,中英混排的 Kindle 電子書也能擁有好看的排版
「胡萬進印」考

TAG:Python | 繪圖 | 中文字體 |