1. 程式人生 > 程式設計 >matplotlib基礎繪圖命令之errorbar的使用

matplotlib基礎繪圖命令之errorbar的使用

在matplotlib中,errorbar方法用於繪製帶誤差線的折線圖,基本用法如下

plt.errorbar(x=[1,2,3,4],y=[1,yerr=1)

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

yerr引數用於指定y軸水平的誤差,同時該方法也支援x軸水平的誤差,對應引數xerr。指定誤差值有多種方式,上述程式碼展示的是指定一個統一標量的用法,此時,所以的點誤差值都一樣。

除此之外,還可以指定為一個和點的個數相同的陣列,為每個點單獨設定誤差值,用法如下

plt.errorbar(x=[1,yerr=[1,4])

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

另外,考慮到每個點的上下誤差會不同,也支援用行數為2的多維陣列來單獨指定每個點上下的誤差值,用法如下

plt.errorbar(x=[1,yerr=[[1,[1,4]])

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

xerr引數的用法和yerr相同,這裡不再贅述,示例如下

plt.errorbar(x=[1,xerr=1)

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

errorbar方法支援同時指定xerr和yerr引數,用法如下

plt.errorbar(x=[1,xerr=0.5,yerr=0.5)

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

對於誤差圖的樣式,可以通過以下幾個引數來個性化指定

1. fmt

fmt引數的值和plot方法中指定點的顏色,形狀,線條風格的縮寫方式相同,示例如下

plt.errorbar(x=[1,yerr=1,fmt='co--')

上述程式碼同時指定了3個屬性,輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

預設的圖中只有線條這一元素,所以當我們指定了點的屬性時,如果不指定線條的風格等屬性,則對應的屬性為空,線條元素不會顯示,示例如下

plt.errorbar(x=[1,fmt='co')

上述程式碼沒有指定線條的風格,輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

再來看一個例子,示例如下

plt.errorbar(x=[1,fmt='c')

上述程式碼只指定了顏色屬性,輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

2. ecolor

ecolor引數指定error bar的顏色,可以和折線的顏色加以區分,用法如下

plt.errorbar(x=[1,fmt='co--',ecolor='g')

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

3. elinewidth

elinewidth引數指定error bar的線條寬度,用法如下

plt.errorbar(x=[1,fmt='ro-',ecolor='k',elinewidth=10)

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

4. lims系列引數

lims系列引數用於控制誤差線的顯示,對於x軸水平的誤差線而言,有以下兩個引數

1. xuplims

2. xlolims

對於y軸水平的誤差線而言,有以下兩個引數

1. uplims

2. lolims

這四個引數預設的取值為False,當取值為True時,對應方向的誤差線不顯示,同時在另外一個方向上的誤差線上,會用箭頭加以標識。

當uplims引數的值為True時,向上的誤差線不顯示,向下的誤差線加箭頭,用法如下

plt.errorbar(x=[1,uplims=True)

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

當lolims引數的值為True時,向下的誤差線不顯示,向上的誤差線加箭頭,用法如下

plt.errorbar(x=[1,lolims=True)

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

當uplims和lolims引數的值都為True時,雙向的誤差線都加箭頭,用法如下

plt.errorbar(x=[1,uplims=True,lolims=True)

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

除了指定為標量外,lims系列引數的值也可以是一個列表,為每個點單獨設值,用法如下

plt.errorbar(x=[1,uplims=[False,True,False,True],lolims=[True,False])

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

不同的True和False的組合可以實現不同的效果,示例如下

plt.errorbar(x=[1,yerr=0.5,uplims=[True,False],False])

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

和xerr,yerr類似,我們也可以同時指定4個lims引數,示例如下

plt.errorbar(x=[1,xuplims=[True,xlolims=[True,False])

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

5. errorevery

errorevery引數用於指定誤差線的抽樣頻率,預設情況下,每個點的誤差線都會顯示,當點很多且密集分佈時,每個點都顯示誤差線的話,就很難看出有效的資訊,比如下圖

plt.errorbar(x=range(100),y=range(100),yerr=50)

matplotlib基礎繪圖命令之errorbar的使用

過於密集的情況下,可以使用errorevery引數進行抽樣,基本用法如下

plt.errorbar(x=range(100),yerr=50,errorevery=6)

上述程式碼表示從第一個點開始,每6個點畫一個誤差線,這樣抽樣之後,誤差線就不那麼密集了,輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

除了以上幾個專屬的基本引數外,還有很多的通用引數,可以對errorbar的樣式進行精細調整,示例如下

plt.errorbar(x=[1,marker='s',mfc='red',mec='green',ms=20,mew=4)

輸出結果如下

matplotlib基礎繪圖命令之errorbar的使用

errorbar的引數較多,熟練掌握常用的幾個即可。

到此這篇關於matplotlib基礎繪圖命令之errorbar的使用的文章就介紹到這了,更多相關matplotlib errorbar內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!