matplotlib-bar mit asymmetrischen Fehlerbalken

Brauche ich, um ein Balkendiagramm zu zeichnen, mit asymmetrischen Fehlerbalken...

Die Dokumentation der matplotlib.pyplot.bar-Funktion sagt:

Detail: xerr und yerr direkt übergeben werden, um
errorbar(), Sie können also auch eine Form haben 2xN für unabhängige
Angabe der unteren und oberen Fehler.

Aber, ich kann nicht ein 2xN-array in der 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!

Und zeigen Sie mir die folgende Fehlermeldung:

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

Aber, statt dieser Funktion:

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

Funktioniert einwandfrei.

Macht die matplotlib.pyplot.bar nicht mehr die Unterstützung der 2xN-arrays für yerr?
Wenn die genau richtig ist... ja Wie kann ich das zeichnen ein Balkendiagramm mit asymmetrischen Fehlerbalken?

Vielen Dank für Ihre Zeit!

InformationsquelleAutor Geparada | 2012-10-29
Schreibe einen Kommentar