штанга matplotlib с несимметричной погрешностью
Мне нужно построить гистограмму с асимметричной ошибкой баров ...
Документация функции matplotlib.pyplot.bar гласит:
Подробно: xerr и yerr передаются непосредственно в errorbar (), поэтому они также могут иметь форму 2xN для независимой спецификации нижних и верхних ошибок.
Но я не могу дать массив 2xN для тебя ...
import numpy as np
import matplotlib.pyplot as plt
plt.bar(xrange(5), [2,5,3,4,7], yerr=[[1,4,2,3,6],[4,10,6,8,14]]) #DO NOT work!
И покажи мне следующую ошибку:
Traceback (most recent call last):
File "bar_stacked.py", line 9, in
plt.bar(xrange(5), [2,5,3,4,7], yerr=[[1,4,2,3,6],[4,10,6,8,14]])
File "/usr/lib/pymodules/python2.7/matplotlib/pyplot.py", line 1742, in bar
ret = ax.bar(left, height, width, bottom, color, edgecolor, linewidth, yerr, xerr, ecolor, capsize, align, orientation, log, **kwargs)
File "/usr/lib/pymodules/python2.7/matplotlib/axes.py", line 4253, in bar
"incompatible sizes: bar() argument 'yerr' must be len(%s) or scalar" % nbars)
ValueError: incompatible sizes: bar() argument 'yerr' must be len(5) or scalar
Но вместо этого эта функция:
import numpy as np
import matplotlib.pyplot as plt
plt.errorbar(xrange(5), [2,5,3,4,7], yerr=[[1,4,2,3,6],[4,10,6,8,14]])
Работает отлично.
Разве matplotlib.pyplot.bar больше не поддерживает массивы 2xN для yerr? Если ответ «да» ... Как я могу построить гистограмму с асимметричными барами ошибок?
Спасибо за ваше время!