直方图的绘制

直方图绘制,需要引入pygal库。
本程序使用骰子打点的方式,随机出现数据,统计数据出现的个数。

# -*- coding:utf-8 -*-
from random import randint
import pygal

class Die():
    """骰子"""
    def __init__(self, num_sides=6):
        self.num_sides = num_sides

    def roll(self):
        return randint(1, self.num_sides)

shaizi = Die()  #实例化

#得到样本数据
results = []
for roll_num in range(1000):
    results.append(shaizi.roll())

frequencies = []
for value in range(1, shaizi.num_sides+1):
    frequency = results.count(value)
    frequencies.append(frequency)
print(frequencies)

hist = pygal.Bar()
hist.title = "Results of rolling one D6 1000 times"
hist.x_labels = [x for x in range(1,6)]
hist.x_title = "Result"
hist.y_title = "Frequency of Result"

hist.add('D6', frequencies)

hist.render_to_file('die_visual.svg')
直方图的绘制_第1张图片
Paste_Image.png

你可能感兴趣的:(直方图的绘制)