matplotlib基礎(chǔ)繪圖命令之errorbar的使用
在matplotlib中,errorbar方法用于繪制帶誤差線的折線圖,基本用法如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1)
輸出結(jié)果如下
yerr參數(shù)用于指定y軸水平的誤差,同時(shí)該方法也支持x軸水平的誤差,對(duì)應(yīng)參數(shù)xerr。指定誤差值有多種方式,上述代碼展示的是指定一個(gè)統(tǒng)一標(biāo)量的用法,此時(shí),所以的點(diǎn)誤差值都一樣。
除此之外,還可以指定為一個(gè)和點(diǎn)的個(gè)數(shù)相同的數(shù)組,為每個(gè)點(diǎn)單獨(dú)設(shè)置誤差值,用法如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=[1, 2, 3, 4])
輸出結(jié)果如下
另外,考慮到每個(gè)點(diǎn)的上下誤差會(huì)不同,也支持用行數(shù)為2的多維數(shù)組來單獨(dú)指定每個(gè)點(diǎn)上下的誤差值,用法如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=[[1,2,3,4],[1, 2, 3, 4]])
輸出結(jié)果如下
xerr參數(shù)的用法和yerr相同,這里不再贅述,示例如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], xerr=1)
輸出結(jié)果如下
errorbar方法支持同時(shí)指定xerr和yerr參數(shù),用法如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], xerr=0.5, yerr=0.5)
輸出結(jié)果如下
對(duì)于誤差圖的樣式,可以通過以下幾個(gè)參數(shù)來個(gè)性化指定
1. fmt
fmt參數(shù)的值和plot方法中指定點(diǎn)的顏色,形狀,線條風(fēng)格的縮寫方式相同,示例如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, fmt='co--')
上述代碼同時(shí)指定了3個(gè)屬性,輸出結(jié)果如下
默認(rèn)的圖中只有線條這一元素,所以當(dāng)我們指定了點(diǎn)的屬性時(shí),如果不指定線條的風(fēng)格等屬性,則對(duì)應(yīng)的屬性為空,線條元素不會(huì)顯示,示例如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, fmt='co')
上述代碼沒有指定線條的風(fēng)格,輸出結(jié)果如下
再來看一個(gè)例子,示例如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, fmt='c')
上述代碼只指定了顏色屬性,輸出結(jié)果如下
2. ecolor
ecolor參數(shù)指定error bar的顏色,可以和折線的顏色加以區(qū)分,用法如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, fmt='co--', ecolor='g')
輸出結(jié)果如下
3. elinewidth
elinewidth參數(shù)指定error bar的線條寬度,用法如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, fmt='ro-',ecolor='k',elinewidth=10)
輸出結(jié)果如下
4. lims系列參數(shù)
lims系列參數(shù)用于控制誤差線的顯示,對(duì)于x軸水平的誤差線而言,有以下兩個(gè)參數(shù)
1. xuplims
2. xlolims
對(duì)于y軸水平的誤差線而言,有以下兩個(gè)參數(shù)
1. uplims
2. lolims
這四個(gè)參數(shù)默認(rèn)的取值為False, 當(dāng)取值為True時(shí),對(duì)應(yīng)方向的誤差線不顯示,同時(shí)在另外一個(gè)方向上的誤差線上,會(huì)用箭頭加以標(biāo)識(shí)。
當(dāng)uplims參數(shù)的值為True時(shí),向上的誤差線不顯示,向下的誤差線加箭頭,用法如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, uplims=True)
輸出結(jié)果如下
當(dāng)lolims參數(shù)的值為True時(shí),向下的誤差線不顯示,向上的誤差線加箭頭,用法如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, lolims=True)
輸出結(jié)果如下
當(dāng)uplims和lolims參數(shù)的值都為True時(shí),雙向的誤差線都加箭頭,用法如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, uplims=True, lolims=True)
輸出結(jié)果如下
除了指定為標(biāo)量外,lims系列參數(shù)的值也可以是一個(gè)列表,為每個(gè)點(diǎn)單獨(dú)設(shè)值,用法如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, uplims=[False, True, False, True], lolims=[True, False, True, False])
輸出結(jié)果如下
不同的True和False的組合可以實(shí)現(xiàn)不同的效果,示例如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=0.5, uplims=[True,True,False,False],lolims=[True,False,True,False])
輸出結(jié)果如下
和xerr,yerr類似,我們也可以同時(shí)指定4個(gè)lims參數(shù),示例如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=0.5, uplims=[True,True,False,False],lolims=[True,False,True,False],xerr=0.5, xuplims=[True,False,True,False],xlolims=[True,True,False,False])
輸出結(jié)果如下
5. errorevery
errorevery參數(shù)用于指定誤差線的抽樣頻率,默認(rèn)情況下,每個(gè)點(diǎn)的誤差線都會(huì)顯示,當(dāng)點(diǎn)很多且密集分布時(shí), 每個(gè)點(diǎn)都顯示誤差線的話,就很難看出有效的信息,比如下圖
plt.errorbar(x=range(100), y=range(100),yerr=50)
過于密集的情況下,可以使用errorevery參數(shù)進(jìn)行抽樣,基本用法如下
plt.errorbar(x=range(100), y=range(100),yerr=50,errorevery=6)
上述代碼表示從第一個(gè)點(diǎn)開始,每6個(gè)點(diǎn)畫一個(gè)誤差線,這樣抽樣之后,誤差線就不那么密集了,輸出結(jié)果如下
除了以上幾個(gè)專屬的基本參數(shù)外,還有很多的通用參數(shù),可以對(duì)errorbar的樣式進(jìn)行精細(xì)調(diào)整,示例如下
plt.errorbar(x=[1, 2, 3, 4], y=[1, 2, 3, 4], yerr=1, marker='s', mfc='red', mec='green', ms=20, mew=4)
輸出結(jié)果如下
errorbar的參數(shù)較多,熟練掌握常用的幾個(gè)即可。
到此這篇關(guān)于matplotlib基礎(chǔ)繪圖命令之errorbar的使用的文章就介紹到這了,更多相關(guān)matplotlib errorbar內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python實(shí)現(xiàn)的根據(jù)文件名查找數(shù)據(jù)文件功能示例
這篇文章主要介紹了Python實(shí)現(xiàn)的根據(jù)文件名查找數(shù)據(jù)文件功能,涉及Python針對(duì)文件與目錄的遍歷、查詢等相關(guān)操作技巧,需要的朋友可以參考下2018-05-05django1.11.1 models 數(shù)據(jù)庫同步方法
今天小編就為大家分享一篇django1.11.1 models 數(shù)據(jù)庫同步方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-05-05python中實(shí)現(xiàn)將多個(gè)print輸出合成一個(gè)數(shù)組
下面小編就為大家分享一篇python中實(shí)現(xiàn)將多個(gè)print輸出合成一個(gè)數(shù)組,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-04-04Django objects.all()、objects.get()與objects.filter()之間的區(qū)別介紹
這篇文章主要給大家介紹了關(guān)于Django objects.all()、objects.get()與objects.filter()之間的區(qū)別,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起看看吧。2017-06-06