Aşağıdaki kod ile pandalar ve matplotlib kullanarak asimetrik hata barları ile bir dizi çizmek çalışıyorum:Pandalar neden asimetrik hata çubuğunun her iki tarafında aynı değerleri uygular?
d = {'high_delta': {1: 0.6,
2: 0.1,
3: 0.2,
4: 0.1,
5: 0.1,
6: 0.1,
7: 0.1,
8: 0.1,
9: 0.2,
10: 0.1},
'low_delta': {1: 0.2,
2: 0.1,
3: 0.1,
4: 0.1,
5: 0.1,
6: 0.1,
7: 0.1,
8: 0.1,
9: 0.1,
10: 0.4},
'p_hat': {1: 0.2,
2: 0.1,
3: 0.3,
4: 0.3,
5: 0.1,
6: 0.3,
7: 0.2,
8: 0.2,
9: 0.1,
10: 0.8}}
df = pandas.DataFrame(d)
df['p_hat'].plot(yerr=df[['low_delta', 'high_delta']].T.values)
(df.p_hat + df.high_delta).plot(style='.')
(df.p_hat - df.low_delta).plot(style='*')
alt sınır her zaman ne beklenir maç gibi görünüyor, ama bunun yerine değerlerini ekleme Üst sınır, alt sınırdan gelen değerleri tekrar ekliyor gibi görünüyor.
Hatalar matplotlib'e nasıl aktarılır, böylece hata çubukları doğru şekilde oluşturulur?
Bunu panda kullanarak tekrar yazabilir misiniz? – tacaswell
Eğer df ['p_hat'] 'i değiştirirsem her şey iyi çalışır. Plot() 'plt.errorbar (df.index.values, df [' p_hat ']. Değerleri, yerr = df [[' low_delta ',' high_delta ']]. T.values), ama bu çalışmayı pandalarda yapmak ya da en azından neden olmadığını bilmek istiyorum. – 2daaa
Pandalarla ilgili bir hata raporu koyarım, bu pandalarda bir hatadır – tacaswell