【导包】
from matplotlib import pyplot as plt
import numpy as np
a = np.random.randint(100, 150, size=40)
print(a)
【求组距和分组个数】
"""求组距和分组个数"""
# 求分组个数
def find_num(max_num, min_num):
for x in [3, 4, 5, 7, 9]:
if (max_num - min_num) % x == 0:
num0 = (max_num - min_num) // x
return num0
# 求组距
def find_d(max_num, min_num):
for x in [3, 4, 5, 7, 9]:
if (max_num - min_num) % x == 0:
return int(x)
num = find_num(max(a), min(a))
d = find_d(max(a), min(a))
【创建画布】
"""创建一个画布"""
plt.figure(figsize=(20, 8), dpi=80)
【绘制基础图形】
绘制简单直方图函数:plt.hist()
传入参数:
第一个参数:由数据组成的列表
第二个参数:分组的依据,根据这些分组依据,将第一个参数中的数据分成不同的组,每一组对应不同数量的数据
第三个参数:是否将其转换为频率分布直方图
"""绘制基础图形"""
# 绘制简单直方图函数:plt.hist()
# 传入参数:
# 第一个参数:由数据组成的列表
# 第二个参数:分组的依据,根据这些分组依据,将第一个参数中的数据分成不同的组,每一组对应不同数量的数据
# 第三个参数:是否将其转换为频率分布直方图
plt.hist(a, num, density=True)
# 设置x轴刻度
plt.xticks(range(min(a), max(a) + d, d))
plt.grid(True, color="black")
【保存并展示图形】
"""保存并展示图形"""
plt.savefig("./简略.png")
plt.show()
运行结果: