python 数据统计之pygal
1,die.py定义骰子类,模拟每次掷出不同点数
from random import randint
class Die():
def __init__(self, num_sides=6):
self.num_sides = num_sides
def roll(self):
return randint(1, self.num_sides)
2,模拟同时掷出两个骰子时的点数统计信息,并统计不同点数出现的次数,然后绘制直方图
引用pygal包和Die类,将直方图保存到文件中。
from die import Die
import pygal
die_1 = Die()
die_2 = Die()
results = []
for roll_num in range(1000):
result = die_1.roll() + die_2.roll()
results.append(result)
print(results)
frequencies = []
max_result = die_1.num_sides + die_2.num_sides
for value in range(2, max_result+1):
frequency = results.count(value)
frequencies.append(frequency)
print(frequencies)
hist = pygal.Bar()
hist.title = "Results of rolling two D6 dice 1000 times"
hist.x_labels= ['2', '3', '4', '5', '6','7', '8', '9', '10','11','12']
hist.x_title = "Result"
hist.y_title = "Frequency of Result"
hist.add('D6+D6', frequencies)
hist.render_to_file('dice_visual.svg')
来源:oschina
链接:https://my.oschina.net/donngchao/blog/3162915