python 数据统计之pygal

删除回忆录丶 提交于 2020-02-28 06:10:47

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')

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!