Matplotlibを使用して、事前カウントされたデータにヒストグラムをプロットしたいとします。例えば、私は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}
、私は私のコントロールをすることができますヒストグラム関数にこの前カウントデータを渡したいのですがビンの幅、プロットの範囲など、私は生のデータを渡したかのように。回避策として、私は、生データに私の数を拡大しています:counted_data
は、データポイントの数百万人のためのカウントが含まれている場合
data = list(chain.from_iterable(repeat(value, count)
for (value, count) in counted_data.iteritems()))
これは非効率的です。
Matplotlibを使用して、事前カウントデータからヒストグラムを作成する方が簡単ですか?
また、事前にビン詰めされたデータを棒グラフで表示するのが最も簡単な場合は、項目ごとのカウントをビンカウントに「ロールアップ」する便利な方法がありますか?
:ここでは、完全にヒストグラムを再構築するための方法だ生データにあなたの数を拡張するには、また 'Counter'クラスとその要素()メソッドを使用できます。 'コレクションからのカウンターをインポート' ' c =カウンタ(counted_data) ' ' data = list(c.elements()) ' – fireboot