安裝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
#?創(chuàng)建一個D6.
die?=?Die()
#?擲骰子并將結(jié)果存儲于列表
results?=?[]
for?roll_num?in?range(1000):
????result?=?die.roll()
????results.append(result)
#?分析結(jié)果
frequencies?=?[]
for?value?in?range(1,?die.num_sides+1):
????frequency?=?results.count(value)??#?計算點數(shù)在結(jié)果中出現(xiàn)多少次
????frequencies.append(frequency)
#?對結(jié)果可視化
x_values?=?list(range(1,?die.num_sides?+?1))
data?=?[Bar(x=x_values,?y=frequencies)]??#?繪制數(shù)據(jù)集
x_axis_config?=?{'title':?'結(jié)果'}
y_axis_config?=?{"title":?'結(jié)果的頻率'}
my_layout?=?Layout(title='擲一個D6?1000次的結(jié)果',
???????????????????xaxis=x_axis_config,?yaxis=y_axis_config)??#?圖標(biāo)布局
offline.plot({'data':?data,?'layout':?my_layout},
?????????????filename='d6.html')??#?數(shù)據(jù)集和?圖標(biāo)布局