本節(jié)內(nèi)容:實現(xiàn)在堆積柱狀圖的基礎(chǔ)上添加誤差棒
相關(guān)函數(shù):matplotlib.pyplot.bar()
在barh()篇堆積圖部分粗略的寫過一些,本節(jié)在那部分基礎(chǔ)上補充對每一節(jié)柱狀圖添加誤差棒,實現(xiàn)的方法類似并列帶誤差棒的柱狀圖,對plt.bar()函數(shù)添加xerr或者yerr,然后對堆積在上面的柱狀圖添加bottom參數(shù)的數(shù)據(jù)信息。
最簡實現(xiàn):
import matplotlib.pyplot as plt
import numpy as np
x=np.arange(5)
#數(shù)據(jù)集
y1=[20,44,21,64,46]
y2=[10,37,24,41,40]
#誤差列表
std_err1=[1,2,5,3,2]
std_err2=[2,4,3,1,2]
tick_label=['blue','jazz','pure','pop','classic']
error_params1=dict(elinewidth=3,ecolor='midnightblue',capsize=4)#設(shè)置誤差標(biāo)記參數(shù)
error_params2=dict(elinewidth=3,ecolor='orangered',capsize=4)#設(shè)置誤差標(biāo)記參數(shù)
#繪制柱狀圖,設(shè)置誤差標(biāo)記以及柱狀圖標(biāo)簽
plt.bar(x,y1,color='khaki',yerr=std_err1,error_kw=error_params1,label='tag A')
plt.bar(x,y2,bottom=y1,color='slateblue',yerr=std_err1,error_kw=error_params2,label='tag B')
plt.xticks(x,tick_label)#設(shè)置x軸的標(biāo)簽
#設(shè)置網(wǎng)格
plt.grid(True,axis='both',ls=':',color='r',alpha=0.3)
plt.legend()
#顯示圖形
plt.show()
實現(xiàn)效果:

帶誤差棒的堆積柱狀圖