Re: [問題] matplotlib顯示中文的問題

作者: alvinlin (林矜業)   2020-06-01 18:40:25
在 Python IDLE 下已試出可行的方法:
1) 打開命令列 Command Prompt, 輸入下列指令:
python -c "print(__import__('matplotlib').matplotlib_fname())"
2) 或是在 Python 的 IDLE 下輸入兩行指令
import matplotlib
print(matplotlib.matplotlib_fname())
輸出結果如下:
C:\Users\username\AppData\Local\Programs\Python\Python37\lib\site-packages\matplotlib\mpl-data\matplotlibrc
3) 開啟上述的matplotlibrc設定檔,找到開頭為 #font.serif
和 #font.sans-serif 這兩行。
4) 移除 #,在上述兩行的 "DejaVu Serif" 前加入 "Microsoft JhengHei,"
5) 接著繼續找另一個 #axes.unicode_minus 這行,移除 #,與設定為 False,這樣
圖片中可以顯示負號。
6) 存檔上述的matplotlibrc設定檔. 有需要時到 \.matplotlib 刪除__pycache__目錄下所有快取檔案
7) 在開始, 輸入 fonts, 按下 enter. 或開始按右鍵, 執行, 輸入 fonts, 按下 enter.
8) 在搜尋輸入 Microsoft JhengHei, 找到後按右鍵, 複製.
9) 開啟
C:\Program Files (x86)\Microsoft Visual Studio\Shared\Python37_64\lib\site-packages\matplotlib\mpl-data\fonts\ttf
資料夾, 貼上剛才的 Microsoft JhengHei
10) 重啟 IDLE
※ 引述《KenSugo (書狗)》之銘言:
: 如題
: 小弟最近練習爬蟲
: 並用matplotlib繪製長條圖
: https://i.imgur.com/Zzok2LD.jpg
: 上圖是其中一段code
: https://i.imgur.com/AhoDujs.jpg
: 第二張圖則是產出的結果
: 我成功顯示標題跟圖例的中文字
: 但是可以看到第二張圖下面的關鍵字
: 全部都是框框
: 關鍵字是我用爬蟲爬來的資訊
: 且可能為數字或者中文字
: 數字可以顯示 但中文字不行
: 想請教如何將框框成功輸出成中文字?
: (有嘗試過使用跟標題中文還有圖例中文一樣的方法,就是一樣在後面加上fontproperti
: es = grtChineseFont(),沒辦法成功顯示,猜想可能k值是我爬蟲爬到的資訊)
: 想請教板上神人 謝謝!
作者: KenSugo (書狗)   2020-06-01 20:06:00
感謝大大的幫忙 已成功產出
作者: alvinlin (林矜業)   2020-06-01 20:27:00
^^不客氣。這問題我研究了好久。書上寫的網路上面的都是錯的。
作者: OrzOGC (洞八達人.拖哨天王)   2020-06-01 21:31:00
https://imgur.com/gYIJYu3 我的方法,不過我是用Linux

Links booklink

Contact Us: admin [ a t ] ucptt.com