例如:
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%。我该如何解决这个问题?
例如:
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%。我该如何解决这个问题?
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>)