安装pygal
在Windows系统中,命令类似于下面这样:
pyhton -m pip install --user pygal==1.7
绘制直方图
1、为创建条形图,我们创建了一个pygal.Bar()实例,并将其存储在picture中。
picture=pygal.Bar()
2、接下来设置title属性,用来表示直方图的名字,并将掷骰子的所有可能结果用作x轴的标签(标签一定要是string型,int型会报错)。
xlabels=list(range(1,sides+1))
picture.x_labels=[]
for x in xlabels:
picture.x_labels.append(str(x))
3、使用add()将一系列值添加到图表中('Die'是给添加值指定的标签,随意设,但不可缺少;frequencies是一个列表,存储将出现在图表中的值)。
picture.add('Die',frequencies)
4、将图片渲染为SVG文件,这种文件的扩展名必须为.svg。
picture.render_to_file('die_visual.svg')
结果演示:
import pygal
from random import randint
class Die():
def __init__(self,sides=6):
self.sides=sides
def roll(self):
return randint(1,self.sides)
values=[]
sides=int(input("How many sides? "))
die_visual=Die(sides)
for roll_num in range(20):
value=die_visual.roll()
values.append(value)
frequencies=[]
for value in range(1,int(sides)+1):
frequency=values.count(value)
frequencies.append(frequency)
picture=pygal.Bar()
picture.title='Frequencies of '+str(sides)+' kinds of situation'
picture.x_title='Values'
picture.y_title='Frequency of Values'
xlabels=list(range(1,sides+1))
picture.x_labels=[]
for x in xlabels:
picture.x_labels.append(str(x))
picture.add('Die',frequencies)
picture.render_to_file('die_visual.svg')