通过直方图展示骰子点数的分布情况:
一、直方图:
1、直方图是一种对数据分布情况的图形表示
2、首先要对数据进行分组,然后统计每个分组内数据的数量。
3、作用:
(1)显示各分组或数量分布的情况
(2)易于显示各组之间频率或数量的差别
二、语法:
1、使用plt.hist(data,bins)函数
2、data:数据列表
3、bins:分组边界
三、实例:
"""
作者:lanxingbudui
功能:模拟掷骰子
版本:1.0
2.0新增功能:模拟投掷两个骰子
3.0新增功能:可视化投掷两个骰子的结果
4.0新增功能:直方图可视化结果
日期:20191025
"""
import random
import matplotlib.pyplot as plt
# 解决中文显示问题
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
def roll_dice():
"""
模拟掷骰子
"""
roll = random.randint(1, 6)
return roll
def main():
"""
主函数
"""
total_times = 10000
# 记录骰子的结果
roll_list = []
for i in range(total_times):
roll1 = roll_dice()
roll2 = roll_dice()
roll_list.append(roll1 + roll2)
# 数据可视化
plt.hist(roll_list, bins=range(2, 14), density=1, edgecolor='black', linewidth=1)
plt.title('骰子点数统计')
plt.xlabel('点数')
plt.ylabel('频率')
plt.show()
if __name__ == '__main__':
main()
通过直方图可视化得到的结果:不过好丑呀!!!这是100次的结果;图二是10000次的结果,瞬间好看一些了。