0

例如:

import matplotlib.pyplot as plt  
data = [0.6, 0.8, 0.4, 0.2, 0.6, 0.8, 0.4, 0.2]  
plt.hist(data, bins=20, range=[0.0, 1.0], normed=True)  
plt.show()  

在此之后,我拍摄了直方图,其中每个项目的频率约为 5,而不是 0.25%。我该如何解决这个问题?

4

1 回答 1

1

plt.hist您可以通过如下分配来检查直方图结果:

out = plt.hist(data, bins=20)
print out

打印:

(array([2, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2]), 
 array([0.2 , 0.23, 0.26, 0.29, 0.32, 0.35, 0.38, 0.41, 0.44, 0.47, 
        0.5 , 0.53, 0.56, 0.59, 0.62, 0.65, 0.68, 0.71, 0.74, 0.77, 0.8 ]),
<a list of 20 Patch objects>)

哪个是对的。还:

>>> plt.hist(data, bins=4)
    (array([ 2.,  2.,  2.,  2.]), array([ 0.2 ,  0.35,  0.5 ,  0.65,  0.8 ]), 
    <a list of 4 Patch objects>)
于 2013-09-07T11:59:15.257 回答