安装plotly
from random import randint
class Die():
"""A class representing a single die."""
def __init__(self, num_sides=6):
"""骰子有六个面"""
self.num_sides = num_sides
def roll(self):
""""返回随机值"""
return randint(1, self.num_sides)
from plotly.graph_objs import Bar, Layout
from plotly import offline
from die import Die
# 创建一个D6.
die = Die()
# 掷骰子并将结果存储于列表
results = []
for roll_num in range(1000):
result = die.roll()
results.append(result)
# 分析结果
frequencies = []
for value in range(1, die.num_sides+1):
frequency = results.count(value) # 计算点数在结果中出现多少次
frequencies.append(frequency)
# 对结果可视化
x_values = list(range(1, die.num_sides + 1))
data = [Bar(x=x_values, y=frequencies)] # 绘制数据集
x_axis_config = {'title': '结果'}
y_axis_config = {"title": '结果的频率'}
my_layout = Layout(title='掷一个D6 1000次的结果',
xaxis=x_axis_config, yaxis=y_axis_config) # 图标布局
offline.plot({'data': data, 'layout': my_layout},
filename='d6.html') # 数据集和 图标布局
