Matplotlib を使用して、事前にカウントされたデータのヒストグラムをプロットしたいと思います。たとえば、生データがあるとします
data = [1, 2, 2, 3, 4, 5, 5, 5, 5, 6, 10]
このデータがあれば、使用できます
pylab.hist(data, bins=[...])
ヒストグラムをプロットします。
私の場合、データは事前にカウントされており、辞書として表されています。
counted_data = {1: 1, 2: 2, 3: 1, 4: 1, 5: 4, 6: 1, 10: 1}
理想的には、この事前にカウントされたデータを、あたかも生データを渡したかのように、ビンの幅、プロット範囲などを制御できるヒストグラム関数に渡したいと思います。回避策として、カウントを生データに拡張しています。
data = list(chain.from_iterable(repeat(value, count)
for (value, count) in counted_data.iteritems()))
counted_data
これは、数百万のデータ ポイントのカウントが含まれている場合には非効率的です。
Matplotlib を使用して、事前にカウントされたデータからヒストグラムを作成する簡単な方法はありますか?
または、事前にビニングされたデータをバープロットするのが最も簡単な場合、アイテムごとのカウントをビニングされたカウントに「ロールアップ」する便利な方法はありますか?