4、抛掷一个骰子时,可能出现的结果为1-6点,且出现每种结果的可能性相同,假设投掷1000次,将生成一个表示掷骰子结果的数据集,并根据结果绘制直方图或柱状图。 要求:①代码中要体现出1000 次掷骰子的结果,能够计算出每种点数出现的次数,以便验证直方图绘制的正确与否; 1000次掷骰子的结果: [3,2,5,3,1,2,2,1,5,2,1,6,5,6,2,2,6,5, 每种点数出现的次数:列表或者字典形式,一种即可 {1: 158,2: 172, 3: 147, 4: 159,5: 182, 6: 182} [158,172,147, 159, 182,182] ②设置填充颜色和边框颜色; ③添加x轴、y轴描述信息及标题;④保存绘制的折线图为jipg格式; ⑤其他可以美化图片的辅助功能(可选)
时间: 2024-03-08 07:46:14 浏览: 17
以下是代码实现:
```python
import random
import matplotlib.pyplot as plt
# 掷骰子1000次并记录每个点数出现的次数
dice_results = [random.randint(1, 6) for _ in range(1000)]
dice_count = {}
for result in dice_results:
if result in dice_count:
dice_count[result] += 1
else:
dice_count[result] = 1
# 将点数出现次数转换为列表形式
count_list = [dice_count[i] for i in range(1, 7)]
# 绘制直方图
plt.bar(range(1, 7), count_list, color='#1E90FF', edgecolor='black')
# 添加x轴、y轴描述信息及标题
plt.xlabel('点数')
plt.ylabel('出现次数')
plt.title('1000次掷骰子结果直方图')
# 保存绘制的直方图为jpg格式
plt.savefig('dice_histogram.jpg')
# 显示直方图
plt.show()
```
在代码中,我们先使用 `random.randint(1, 6)` 模拟了1000次掷骰子的过程,并用字典记录了每个点数出现的次数。然后将点数出现次数转换为列表形式,用 `plt.bar` 绘制直方图。我们设置填充颜色为蓝色,边框颜色为黑色。并添加了x轴、y轴描述信息及标题。最后使用 `plt.savefig` 保存绘制的直方图为jpg格式。
运行代码后,会生成一个名为 `dice_histogram.jpg` 的文件,里面存储了绘制的直方图。同时,程序还会显示直方图。