より大きなデータセットのサブセットの束に対してnumpy.histogram()
を実行しました。計算とグラフィック出力を分離したいので、データ自体に対してmatplotlib.pyplot.hist()
を呼び出さないようにします。
原則として、これらの関数は両方とも同じ入力、つまりビニングの前の生データ自体を取ります。 numpy
バージョンは_nbin+1
_ビンエッジとnbin
周波数を返すだけですが、matplotlib
バージョンはプロット自体を作成します。
それで、計算をやり直すことなく(そして入力を保存する必要なく)numpy.histogram()
出力自体からヒストグラムを生成する簡単な方法はありますか?
明確にするために、numpy.histogram()
出力はnbin
ビンの_nbin+1
_ビンエッジのリストです。これらを入力として受け取るmatplotlib
ルーチンはありません。
numpy.histogram
を使用して、plt.bar
の出力をプロットできます。
import matplotlib.pyplot as plt
import numpy as np; np.random.seed(1)
a = np.random.rayleigh(scale=3,size=100)
bins = np.arange(10)
frq, edges = np.histogram(a, bins)
fig, ax = plt.subplots()
ax.bar(edges[:-1], frq, width=np.diff(edges), ec="k", align="Edge")
plt.show()