熱線電話:13121318867

登錄
首頁精彩閱讀Python matplotlib畫圖的中文顯示問題
Python matplotlib畫圖的中文顯示問題
2018-02-25
收藏

Python matplotlib畫圖的中文顯示問題

python中的matplotlib僅支持Unicode編碼,默認是不顯示中文的,如果讓其默認顯示中文,有下面2種方法:

第一種方法:
1、在python的安裝目錄中找到配置文件: %Python_Home%\Lib\site-packages\matplotlib\mpl-data\matplotlibrc    (如,我的是在C:\Python34\Lib\site-packages\matplotlib\mpl-data),用任意文本編輯器打開。
2、找到139行的font.family         : sans-serif將其前面的#注釋號去掉
3、找到151行的font.sans-serif     :AR PL UMing CN, SimHei, Bitstream Vera Sans, Lucida Grande, Verdana, Geneva, Lucid, Arial, Helvetica, Avant Garde, sans-serif將【AR PL UMing CN, SimHei】添加在最前面,其中AR PL UMing CN代表:宋體。SimHei代表:黑體。并將前面的#注釋號去掉,重啟編輯器后,便可顯示中文了。
4、同時需要更改264行的axes.unicode_minus  : False;使其值為False;否則無法顯示負號
5、代碼如下:

import matplotlib.pyplot as plt

plt.xlabel('x軸')

plt.ylabel('y軸')

plt.bar(left = (0,1),height =(1,0.5),width = 0.35)

plt.show()

【注:低版本中x.label(u'x軸');中文前需要加u;請注意】
第二種方法:
在代碼中動態設置(推薦方式)
這種方式不需要修改配置文件,比較方便,推薦該方法,下面是具體步驟:
首先要再python腳本中的開頭加上后面的內容:#-*- coding: utf-8 -*-,即用utf8編碼
然后在代碼中動態設置字體,下面是主要的幾行代碼
[python] view plain copy

    from matplotlib.font_manager import FontProperties  
    import matplotlib.pyplot as plt  
    font = FontProperties(fname=r"c:\windows\fonts\simsun.ttc", size=14)  
      
    plt.xlabel(u"電壓差(V)", fontproperties=font)  
    plt.ylabel(u"介質損耗角差(度)", fontproperties=font)  
    plt.title(u"介質損耗角和荷電狀態SOC關系圖",fontproperties=font)

數據分析咨詢請掃描二維碼

若不方便掃碼,搜微信號:CDAshujufenxi

數據分析師資訊
更多

OK
客服在線
立即咨詢
日韩人妻系列无码专区视频,先锋高清无码,无码免费视欧非,国精产品一区一区三区无码
客服在線
立即咨詢