11

非対称エラーバーを含む棒グラフをプロットする必要があります...

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

しかし、代わりにこの関数:

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 は yerr の 2xN 配列をサポートしなくなりましたか? 答えが「はい」の場合... 非対称エラー バーを含む棒グラフをプロットするにはどうすればよいですか?

御時間ありがとうございます!

4

1 に答える 1

15

どのバージョンの matplotlib を使用していますか?

1.1.1 (最新の安定版) バージョンでは、コードは問題なく動作します。

于 2012-10-29T22:52:06.333 に答える