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次的数据统计