使用pygal生成对应的直方图后存储为svg文件,使用浏览器便可打开查看直方图。
用pygal模拟骰子各面的概率
以模拟投骰子1000次,各面的次数为例创建直方图
import pygal
函数 | 功能 |
---|---|
a = pygal.Bar() | 创建一个直方图类对象 |
a.title = 字符串 | 设置直方图的标题 |
a.x_labels = [字符串] | 指定x轴的标签 |
a.x_title = 字符串 | 指定x轴的标题 |
a.y_title = 字符串 | 指定y轴的标题 |
a.add(字符串,列表) | 添加一系列值,值的标签为字符串 |
a.render_to_file(路径) | 将直方图渲染成对应路径的文件,后缀要是svg |
a.render_to_png(路径) | 将直方图渲染成对应路径的文件,后缀要是png |
这里如果要保存为png文件还需要安装cairosvg库
import pygal
from random import randint
def text(time):
#'''模拟骰子'''
results = []
results_analysis = []
for a in range(0,time):
this_result = randint(1,6)
results.append(this_result)
for b in range(1,6+1):
frequency = results.count(b)
results_analysis.append(frequency)
#'''生成直方图''''
pic = pygal.Bar()
pic.title = '投骰子'+ str(time) +'次结果'
pic.x_labels = ['1','2','3','4','5','6']
pic.x_title = '结果'
pic.y_title = 'Frequency of Result'
pic.add('D6',results_analysis)
pic.render_to_file("pygal_text.svg")
pic.render_to_png("pygal_text.png")
text(1000)
图片结果显示(左为svg,右为png):
如果要加入多组数据,需要多次a.add(字符串,列表)
即可