成人午夜视频全免费观看高清-秋霞福利视频一区二区三区-国产精品久久久久电影小说-亚洲不卡区三一区三区一区

Pythonmatplotlib畫圖與中文設置的示例分析-創(chuàng)新互聯(lián)

小編給大家分享一下Python matplotlib畫圖與中文設置的示例分析,希望大家閱讀完這篇文章之后都有所收獲,下面讓我們一起去探討吧!

呂梁ssl適用于網(wǎng)站、小程序/APP、API接口等需要進行數(shù)據(jù)傳輸應用場景,ssl證書未來市場廣闊!成為成都創(chuàng)新互聯(lián)公司的ssl證書銷售渠道,可以享受市場價格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18982081108(備注:SSL證書合作)期待與您的合作!

具體如下:

采用matplotlib作圖時默認設置下是無法顯示中文的,例如編寫如下python腳本,

#-*- coding: utf-8 -*-
from pylab import *
t = arange(-4*pi, 4*pi, 0.01)
y = sin(t)/t
plt.plot(t, y)
plt.title(u'鐘形函數(shù)')
plt.xlabel(u'時間')
plt.ylabel(u'幅度')
plt.show()

顯示出來的結(jié)果如圖1所示,可見標題、標簽都無法正常顯示中文:

Python matplotlib畫圖與中文設置的示例分析

實際上,matplotlib是支持unicode編碼的,出現(xiàn)圖1的問題主要是沒有找到合適的中文字體,在matplotlib的配置文件中,可以看到字體的默認設置如下:

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

并沒有中文字體,所以我們只要手動添加中文字體的名稱就可以了,不過并不是添加我們熟悉的“宋體”或“黑體”這類的名稱,而是要添加字體管理器識別出的字體名稱,matplotlib自身實現(xiàn)的字體管理器在文件font_manager.py中,自動生成的可用字體信息在保存在文件fontList.cache里,可以搜索這個文件查看對應字體的名稱,例如simhei.ttf對應的名稱為'SimHei',simkai.ttf對應的名稱為'KaiTi_GB2312'等。因此我們只要把這些名稱添加到配置文件中去就可以讓matplotlib顯示中文,修改的方法有兩種:

1. 直接修改配置文件matplotlibrc

在配置文件中找到font.sans-serif的設置,然后添加需要的中文字體名稱,例如:

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

2. 動態(tài)設置(推薦方式)

在python腳本中動態(tài)設置matplotlibrc,這樣不需要更改配置文件,方便靈活,例如:

mpl.rcParams['font.sans-serif'] = ['SimHei']

修改后的代碼如下:

#-*- coding: utf-8 -*-
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
t = arange(-4*pi, 4*pi, 0.01)
y = sin(t)/t
plt.plot(t, y)
plt.title(u'鐘形函數(shù)')
plt.xlabel(u'時間')
plt.ylabel(u'幅度')
plt.show()

顯示出來的結(jié)果如圖2所示,可見標題、標簽都能正常顯示中文:

Python matplotlib畫圖與中文設置的示例分析

但是細心些可以看出圖2顯示的結(jié)果并不正確,注意對比圖1和圖2的橫坐標的坐標值,會發(fā)現(xiàn)圖2中負軸的橫坐標值不對,負號不見了!很明顯,這不是程序的錯誤,而是由于更改了字體導致顯示不出負號,在配置文件中我們可以在axes相關(guān)設置里找到如下設置:

#axes.unicode_minus : True

可見默認情況下采用的是unicode的minus,看來我們選擇的字體對這點支持不夠,所以只要把它設置為False就可以了,最終的代碼如下:

#-*- coding: utf-8 -*-
from pylab import *
mpl.rcParams['font.sans-serif'] = ['SimHei']
mpl.rcParams['axes.unicode_minus'] = False
t = arange(-4*pi, 4*pi, 0.01)
y = sin(t)/t
plt.plot(t, y)
plt.title(u'鐘形函數(shù)')
plt.xlabel(u'時間')
plt.ylabel(u'幅度')
plt.show()

最終顯示的結(jié)果如圖3所示,一切都正常了。

Python matplotlib畫圖與中文設置的示例分析

看完了這篇文章,相信你對“Python matplotlib畫圖與中文設置的示例分析”有了一定的了解,如果想了解更多相關(guān)知識,歡迎關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設計公司行業(yè)資訊頻道,感謝各位的閱讀!

另外有需要云服務器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。

名稱欄目:Pythonmatplotlib畫圖與中文設置的示例分析-創(chuàng)新互聯(lián)
分享地址:http://jinyejixie.com/article16/csoedg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供小程序開發(fā)、外貿(mào)網(wǎng)站建設網(wǎng)站導航、網(wǎng)站營銷、移動網(wǎng)站建設、面包屑導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
双牌县| 铜陵市| 东光县| 岐山县| 龙南县| 修水县| 隆昌县| 上饶县| 上饶县| 偏关县| 乌兰浩特市| 桐乡市| 旅游| 白水县| 营山县| 襄城县| 房产| 册亨县| 苍山县| 修文县| 安吉县| 鄂州市| 荃湾区| 颍上县| 琼中| 江源县| 江西省| 大冶市| 腾冲县| 玛沁县| 巴青县| 墨脱县| 石渠县| 昌都县| 邵阳县| 林州市| 鄢陵县| 昔阳县| 馆陶县| 金秀| 郸城县|