解決matplotlib中文亂碼問題(Windows)

來源:互聯網
上載者:User

標籤:python   亂碼   

matplotlib是Python著名的繪圖庫,預設並不支援中文顯示,因此在不經過修改的情況下,無法正確顯示中文。本文將介紹如何解決這一問題的方法。

網上的主流方法是修改matplotlibrc檔案,如下(但是沒有效果):

1,找到

#font.family:sans-serif

去掉注釋

2,找到

#font.sans-serif:Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica,Avant Garde, sans-serif

修改為

font.sans-serif:Microsoft YaHei ,Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid,Arial, Helvetica, Avant Garde, sans-serif

即去掉注釋,並在配置值中添加 MicrosoftYaHei ,

3,在windows下搜尋msyh.ttf,即微軟的雅黑字型

並將msyh.ttf  copy到python按照目錄下的

D:\Python27\Lib\site-packages\matplotlib\mpl-data\fonts\ttf目錄

細節注釋:按照上述的步驟操作,在matplotlibrc中修改也是徒勞。

 

下面是另一種方法:(解決matplotlib映像中文顯示問題

1、找到matplotlib安裝目錄,

比如D:\Python27\Lib\site-packages\matplotlib\mpl-data目錄下的matplotlibrc檔案,找到#font.sans-serif :…這一行,把後面的修改為’nothing’,這樣做是強制讓系統無法找到英文字型,而是用matplotlib預設字型Vera.ttf替換(不做這一步,我測試了也是可以的!)

#font.sans-serif     : nothing

2、同個檔案中找到#verbose.level : silent這行。把silent修改為debug,這樣做是為了看更詳細的輸出.(不做這一步,我測試了也是可以的!)

1

#verbose.level  : debug

3、 找到字型目錄D:\Python27\Lib\site-packages\matplotlib\mpl-data\fonts\ttf下的Vera.ttf。這裡我們用中文楷體可以從C:\Windows\Fonts拷貝過來,直接張貼到前面的ttf目錄下,然後更名為Vera.ttf,相當於用中文的字型替代掉之前的英文字型,偷龍轉鳳!!

4. 程式中指定檔案編碼# -*-coding: utf-8 -*- ,並且確保要輸出的中文是unicode形式,檢查是否為unicode代碼:isinstance(s,unicode)。

上述操作,其實只要將Vera.ttf檔案替換掉即可,不用修改matplotlibrc檔案也是可行的。只是擔心以後會有什麼副作用。。。

參考網址:http://www.cnblogs.com/idealing/p/3611361.html

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.