關於Matplotlib顯示中文問題 |
|
李
更新時間:2018/4/3 下午 12:06:44 |
|
關於Matplotlib顯示中文,使用Anaconda3.6,照著課本Python初學特訓班的7-6頁所述,並無法顯示中文,已經測試多次,請問問題為何?謝謝 |
|
|
|
文淵閣工作室
更新時間:2018/4/4 下午 02:25:28 |
|
Matplotlib顯示中文的設定有變更,在「Python初學特訓班增訂版」中已修正,方法如下: 1. 在文字編輯器(例如:記事本) 中開啟 <C:\ProgramData\Anaconda3\Lib\site-packages\matplotlib\mpl-data\matplotlibrc> 檔,使用搜尋功能找到下面文字列: #font.sans-serif : Bitstream Vera Serif, New …… 將第 1 個字元「#」移除。再移到此文字列: #axes.unicode_minus : True 將第 1 個字元「#」移除,同時將「True」改為「False」。 2. 關閉 Spyder。複製 <C:\Windows\Fonts> 資料夾中「Microsoft JhengHei UI」字型,到 <C:\ProgramData\Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf> 資料夾:刪除<Vera.ttf> 字型,執行「貼上」功能,此時會複製 3 個檔案,將 <msjh.ttc> 更名為 <DejaVuSans.ttf> 就完成更換字型。 |
|
|
|
|
文淵閣工作室
更新時間:2018/4/4 下午 10:15:16 |
|
抱歉,貼到舊書稿的文字了! 應是刪除<DejaVuSans.ttf>。 應為: 2. 關閉 Spyder。複製 <C:\Windows\Fonts> 資料夾中「Microsoft JhengHei UI」字型,到 <C:\ProgramData\Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf> 資料夾:刪除<DejaVuSans.ttf> 字型,執行「貼上」功能,此時會複製 3 個檔案,將 <msjh.ttc> 更名為 <DejaVuSans.ttf> 就完成更換字型。 |
|
|
|
李
更新時間:2018/4/5 上午 07:39:18 |
|
您說的方法,我也有試過,可是依然就是不行顯示中文,您最近有試過嗎? 是不是還有哪些設定要變更呢? 謝謝 |
|
|
|
文淵閣工作室
更新時間:2018/4/6 上午 05:55:28 |
|
半個月前曾設定過,剛才又將 Anaconda 移除重裝再試,中文可以正常顯示。 我使用 win10,目前手邊沒有 win7 電腦,找到 win7 電腦會試試看,再告知結果。 |
|
|
|
文淵閣工作室
更新時間:2018/4/8 上午 05:37:31 |
|
win7 使用上述方法的確無法顯示中文。經過兩天努力,試過無數方法都無法解決。最後無意中解決,方法為: 在文字編輯器(例如:記事本) 中開啟 <C:\ProgramData\Anaconda3\Lib\site-packages\matplotlib\mpl-data\matplotlibrc> 檔,使用搜尋功能找到下面文字列: #font.family : sans-serif 將第 1 個字元「#」移除。再移到此文字列: #font.sans-serif : DejaVu Sans, Bitstream Vera Sans …… 將第 1 個字元「#」移除,並在第一個項目加入「Microsoft YaHei,」,成為: font.sans-serif : Microsoft YaHei, DejaVu Sans, Bitstream Vera Sans …… 再移到此文字列: #axes.unicode_minus : True 將第 1 個字元「#」移除,同時將「True」改為「False」。 (無法確知其原因,因為 Microsoft YaHei 是簡體字型,不過我的 Win7 系統中原本就有此字型,且為繁體。而加入其他繁體字型都不會顯示) |
|
|
|
I Cheng Lin
更新時間:2018/12/30 下午 06:48:44 |
|
1. 在文字編輯器(例如:記事本) 中開啟 <C:\ProgramData\Anaconda3\Lib\site-packages\matplotlib\mpl-data\matplotlibrc> 檔,使用搜尋功能找到下面文字列: #font.sans-serif : Bitstream Vera Serif, New …… 將第 1 個字元「#」移除。再移到此文字列: #axes.unicode_minus : True 將第 1 個字元「#」移除,同時將「True」改為「False」。 2. 關閉 Spyder。複製 <C:\Windows\Fonts> 資料夾中「Microsoft JhengHei UI」字型,到 <C:\ProgramData\Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf> 資料夾:刪除<DejaVuSans.ttf> 字型,執行「貼上」功能,此時會複製 3 個檔案,將 <msjh.ttc> 更名為 <DejaVuSans.ttf> 就完成更換字型。
最近可能Anaconda更新,win 10這樣的方式,也無法顯示中文了.... 可以再幫忙測是一下嗎~感謝~ |
|
|
|
文淵閣工作室
更新時間:2019/1/3 上午 08:36:18 |
|
這是 matplotlib 3.0 以上 (目前為3.0.2) 的問題,經過幾天努力仍無法解決。 請您將 matplotlib 改為 2.1.2 版,方法為: conda uninstall matplotlib pip install matplotlib==2.1.2 然後依照書中操作即可正常顯示中文。 注意不要以「conda install matplotlib==2.1.2」,我們實測此舉將導致無法開啟 spyder。 |
|
|
|