pygal 简易绘制柱状图

1、柱状图实例

import pygal
hist = pygal.Bar()

2、柱状图横坐标、纵坐标的值

hist.x_labels = []
for value in range(2, die1.num_sides + die2.num_sides + 1):
    hist.x_labels.append(value)
hist.add('D6', frequencies)

3、柱状图标题,X轴、Y轴标题

hist.title = 'Result of rolling one D6 1000 times'
hist.x_title = 'Result'
hist.y_title = 'Frequencies of Result'

4、把图表渲染成svg文件

hist.render_to_file('die_visual.svg') 

5、最后附上代码

die.py

1 from random import randint
2 
3 
4 class Die:
5     def __init__(self, num_sides=6):
6         self.num_sides = num_sides
7 
8     def roll(self):
9         return randint(1, self.num_sides)

die_visual.py


import pygal
from die import Die

die1 = Die()
die2 = Die(10)

results = [die1.roll() + die2.roll() for roll_num in range(1000)]
frequencies = [results.count(value) for value in range(2, die1.num_sides + die2.num_sides + 1)]

hist = pygal.Bar()
hist.title = 'Result of rolling one D6 1000 times'
hist.x_title = 'Result'
hist.x_labels = [value for value in range(2, die1.num_sides + die2.num_sides + 1)]
hist.y_title = 'Frequencies of Result'
hist.add('D6', frequencies)

hist.render_to_png('die_visual.png')

6、一个6面色子和10面色子投掷1000次的数据统计

原文地址:https://www.cnblogs.com/adamhome/p/12258492.html