У меня есть пандас-фрейм данных, и я пытаюсь построить данные, чтобы сделать ставку
wave mean median mad
0 4050.32 -0.016182 -0.011940 0.008885
1 4208.98 0.023707 0.007189 0.032585
2 4374.94 -0.001321 -0.001196 0.000378
3 4379.74 0.002778 0.003380 0.004685
4 4398.01 -0.002974 -0.004633 0.011037
Я пытаюсь построить столбец wave
против столбца mad
и хочув качестве ошибки укажите MAD
столбца mad
.Вместо этого, если поставить бары ошибок, я хочу использовать fill_between
из matplotlib
, но я не понимаю, что должно дать в качестве ввода y1 & y2
в этом
plt.fill_between(x['wave'], y1= ???, y2= ???, color='k',alpha=.5)
Я пыталсяэтот?Это правильно?
plt.figure()
x=pd.concat([wave,mean,median,mad],axis=1,keys['wave','mean','median','mad'])
x=x[np.abs(x['mad']-x['mad'].mean()) <= (2*x['mad'].mad())]
plt.plot(x['wave'],x['mean'],'<')
plt.fill_between(x['wave'], y1=+x['mad'].mad(), y2=-x['mad'].mad(), color='k',alpha=.5)
slope, intercept, r_value, p_value, std_err = stats.linregress(x['wave'],x['mean'])
plt.plot(x['wave'], intercept + slope*x['wave'], 'r', label='fitted line')
plt.show()
Но, похоже, это не работает, потому что это то, что я получаю. Изображение
Как я могу это сделать?