2012-10-29 10 views
7

muszę wykreślić wykres słupkowy z asymetrycznym barów błędach ...matplotlib bar z asymetrycznych słupki błędów

Dokumentacja funkcji matplotlib.pyplot.bar mówi:

Detail: xerr and yerr are passed directly to errorbar(), so they can also have shape 2xN for independent specification of lower and upper errors.

Ale mogę nie dać tablicę 2xN do yerr ...

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! 

i pokaż mi następujący błąd:

Traceback (most recent call last): 
    File "bar_stacked.py", line 9, in <module> 
    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 

Ale zamiast tego funkcja:

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]]) 

działa dobrze.

Czy plik matplotlib.pyplot.bar nie obsługuje już tablic 2xN dla użytkownika yerr? Jeśli odpowiedź jest twierdząca ... Jak mogę wykreślić wykres słupkowy z asymetrycznymi słupkami błędów?

Dziękujemy za poświęcony czas!

Odpowiedz

9

Którą wersję Matplotlib używasz?

W wersji 1.1.1 (najnowsza stabilna) Twój kod działa bezbłędnie.

+0

Mam wersję 0.99.3 ... Mam zamiar skompilować 1.1.1, wielkie dzięki! – Geparada

+0

SOLVED! dzięki Ci. – Geparada

Powiązane problemy