from matplotlib import pyplot as plt
import random
import matplotlib
font = {'family': 'MicroSoft YaHei',
'weight': 'bold',
'size': '7'}
matplotlib.rc("font", **font)
# 随机生成数据
random.seed(2)
a = [round(random.uniform(0, 100), 2) for i in range(251)]
# round控制小数点个数,random.uniform()随机生成一个小数
# 分组:100以内的数据分成5-12组。组距:每一组数据的断点值。组数:极差/组距
d = 5
# 组距为5
num_bins = (max(a) - min(a)) // d+1
print(max(a),min(a),num_bins,max(a) - min(a))
# 组数
plt.figure(figsize=(20, 8), dpi=80)
plt.hist(a, int(num_bins),color='#ff3300',label='频数直方图')
# 这个地方有错位
# plt.hist(a, int(num_bins),color='#ff9900',label='频率直方图',density=True)
x_ticks=list(range(0, 100 + d, d))
# x_ticks+=list(range(200, 300 + d, d))
plt.xticks(x_ticks)
plt.title("统计uniform产生的随机数分布")
plt.ylabel('出现次数(个)')
plt.grid(alpha=0.5)
plt.savefig('../Images/hist频数.png')
plt.show()
结果: