作者alvinlin (康斯坦汀《驅魔神探》)
標題Re: [問題] matplotlib顯示中文的問題
時間Mon Jun 1 18:40:25 2020
請參考以下快速可行的方案:
0) 請確認您有安裝 matplotlib 套件。
1) 打開命令提示字元 Command Prompt, 輸入下列指令:
python -c "print(__import__('matplotlib').matplotlib_fname())"
或是在命令提示字元輸入 python (或 python3) 按下 Enter,然後在 >>> 的提示字元
後,分別輸入以下兩行指令:
import matplotlib
print(matplotlib.matplotlib_fname())
2) 檢視上述的輸出結果。這是 matplotlib 的設定檔。輸出結果會類似於:
C:\Users\<username>\AppData\Local\Programs\Python\Python38\lib
\site-packages\matplotlib\mpl-data\matplotlibrc
3) 用 Notepad 或文字編輯器開啟上述的 matplotlibrc 設定檔,找到開頭為:
#font.serif
#font.sans-serif
這兩行。
4) 編輯這個檔案。移除這兩行前面的 #。
5) 在上述兩行的 "DejaVu Serif" 前加入
"Microsoft JhengHei, "
(不含引號)。
6) 接著繼續找到下列開頭為 # axes 這行:
#axes.unicode_minus
7) 移除這行前的 #。
8) 修改這行結尾的 True 為 False (這樣圖片中可以顯示負號)。
9) 將修改上述內容後的 matplotlibrc 設定檔存檔。
10) 在開始功能表,按右鍵,選[執行]。輸入 %userprofile%。按下[確定]。
11) 找到 %userprofile%\.matplotlib 目錄。這是快取檔案。刪除這個目錄。
12) 到步驟2)的
lib\site-packages\matplotlib\__pycache__
這個__pycache__目錄。這是快取檔案。刪除這個目錄。
13) 在開始功能表,按右鍵,選[執行]。輸入 fonts。按下[確定]。
14) 在搜尋輸入 "Microsoft JhengHei"。找到後點取它後,按右鍵,選[複製]。
15) 開啟在步驟2)的
lib\site-packages\matplotlib\mpl-data\ 下的 fonts\ttf 目錄資料夾。
16) 貼上剛才的 "Microsoft JhengHei" 字形檔案(可能有3個)。
17) 好了。重新啟動你的程式。套件會重新產生步驟 11 和 步驟 12 的目錄。
<<5月10日修改>>
※ 引述《KenSugo (書狗)》之銘言:
: 如題
: 小弟最近練習爬蟲
: 並用matplotlib繪製長條圖
: https://i.imgur.com/Zzok2LD.jpg
: 上圖是其中一段code
: https://i.imgur.com/AhoDujs.jpg
: 第二張圖則是產出的結果
: 我成功顯示標題跟圖例的中文字
: 但是可以看到第二張圖下面的關鍵字
: 全部都是框框
: 關鍵字是我用爬蟲爬來的資訊
: 且可能為數字或者中文字
: 數字可以顯示 但中文字不行
: 想請教如何將框框成功輸出成中文字?
: (有嘗試過使用跟標題中文還有圖例中文一樣的方法,就是一樣在後面加上fontproperti
: es = grtChineseFont(),沒辦法成功顯示,猜想可能k值是我爬蟲爬到的資訊)
: 想請教板上神人 謝謝!
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.137.104.155 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1591008027.A.D14.html
→ KenSugo: 感謝大大的幫忙 已成功產出 06/01 20:06
→ alvinlin: ^^不客氣。這問題我研究了好久。書上寫的網路上面的都是 06/01 20:27
→ alvinlin: 錯的。 06/01 20:27
推 a71245969: 感謝感謝受益良多 書上都錯的囧 07/01 21:51
※ 編輯: alvinlin (180.177.214.6 臺灣), 05/10/2021 11:51:00
※ 編輯: alvinlin (180.177.214.6 臺灣), 05/10/2021 11:56:14