Отображение стандартных ошибок (std / sqrt (N)) с использованием yerr () на гистограммах - PullRequest
0 голосов
/ 05 марта 2020

Я довольно новичок в Python. Я пытаюсь построить блочную диаграмму для выборочных данных

Я пытаюсь построить блочную диаграмму среднего значения общих данных. Я получил эту часть кода. Я также пытаюсь отобразить стандартные значения ошибок на этом поле, используя yerr().

Мой код :

data3=pd.read_csv('demo1.csv')
names=['brow', 'harr', 'hage', 'buch', 'mcre']
d=[data3['brow'].mean(),data3['harr'].mean(),data3['hage'].mean(),data3['buch'].mean(),data3['mcre'].mean()]
N=len(data3['co'])
l=math.sqrt(N)
k=[(data3['brow'].std())/l,(data3['harr'].std())/l,(data3['hage'].std())/l,(data3['buch'].std())/l,(data3['mcre'].std())/l,(data3['phil'].std())/l,(data3['moor'].std())/l]
fig, ax = plt.subplots()
plt.bar(names,d)
plt.bar(len(names),d,yerr=k,align='center',alpha=0.5,ecolor='black',capsize=10)

Я получаю изображение, подобное этому enter image description here

Но я хочу черные линии должны быть напротив каждой гистограммы, а не как новая полоса на графике, когда все они вместе. Как я могу изменить это. Я использую PLT неправильный путь? Пожалуйста, помогите.

1 Ответ

0 голосов
/ 05 марта 2020

Я не понимаю, что вы пытались сделать со вторым звонком на plt.bar()

import math
names=['brow', 'harr', 'hage', 'buch', 'mcre']

data3 = pd.DataFrame({n: np.random.normal(loc=np.random.randint(5,10), scale=np.random.randint(1,10), size=(100,)) for n in names})


d=data3[names].mean()
N=100
l=math.sqrt(N)
k=data3[names].std()/l
fig, ax = plt.subplots()
plt.bar(names,d,yerr=k,align='center',alpha=0.5,ecolor='black',capsize=10)

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...