Python 3.6.1 :: Anaconda custom (64-bit)
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mtptlb
print (np.__version__)
1.12.1
print (mtptlb.__version__)
2.0.2
%matplotlib inline
a=np.random.uniform(1,100,1000000)
b=range(1,101)
plt.hist(a)
为什么Y轴显示100000? np.random.uniform(1,100,1000000) 的值为 1000000,所以它不应该在 y 轴上显示 1000000 吗?
请您参考如下方法:
默认 matplotlib.pyplot.hist使用 10 个箱子。因此,您所有的 100 万个值都分配到 10 个容器中。对于完美的均匀分布,您会期望每个 bin 中出现 10 万次(100 万除以 10)。
您可以更改垃圾箱的数量,即
a=np.random.uniform(1, 100, 1000000)
plt.hist(a, bins=100)
这里它被分成 100 个 bin,因为它是均匀分布,所以所有 bin 大约为 10000。
或者,如果您想要 1 000 000 个计数,则只需一个 bin:
a=np.random.uniform(1, 100, 1000000)
plt.hist(a, bins=1)
