27

私はmatplotlibを使ってPythonでヒストグラムをプロットしています:

plt.hist(nparray, bins=10, label='hist')

すべてのビンの要素数など、すべてのビンの情報を持つデータフレームを印刷することは可能ですか?

4

1 に答える 1

40

の戻り値は次のplt.hist とおりです。

戻り値: タプル: (n, ビン, パッチ) または ([n0, n1, ...], ビン, [パッチ0, パッチ1,...])

したがって、必要なことは、戻り値を適切にキャプチャすることだけです。例えば:

import numpy as np
import matplotlib.pyplot as plt

# generate some uniformly distributed data
x = np.random.rand(1000)

# create the histogram
(n, bins, patches) = plt.hist(x, bins=10, label='hst')

plt.show()

# inspect the counts in each bin
In [4]: print n
[102  87 102  83 106 100 104 110 102 104]

# and we see that the bins are approximately uniformly filled.
# create a second histogram with more bins (but same input data)
(n2, bins2, patches) = plt.hist(x, bins=20, label='hst')

In [34]: print n2
[54 48 39 48 51 51 37 46 49 57 50 50 52 52 59 51 58 44 58 46]

# bins are uniformly filled but obviously with fewer in each bin.

返されるbinsは、使用された各ビンのエッジを定義します。

于 2013-10-18T09:39:05.383 に答える