介绍
大数据可视化包Pygal形成可放大矢量图格式文档。它可以在规格不同类型的屏上全自动放大,表明数据图表。

想要了解Pygal可生成什么样的图表,可访问http://www.pygal.org/,单击document,点击chart types,每个示例都包含源代码。
实例
以下是一个Python大数据可视化Pygal仿真模拟摇筛子完成的实例。
先安装Pygal:
pip install pygal
单个骰子:
from random import randint
#创建一个骰子的类
class Die():
def __init__(self,num_sides=6):
self.num_sides=num_sides
def roll(self):
#返回一个位于1和骰子面数之间的随机值
return randint(1,self.num_sides)
#掷骰子
die=Die()
#创建一个列表,将结果存储在一个列表中
results=[]
#投100次
for roll_num in range(100):
result=die.roll()
results.append(result)
print(results)
#分析结果,计算每个点数出现的次数
frequencies=[]
for value in range(1,die.num_sides+1):
frequency=results.count(value)
frequencies.append(frequency)
print(frequencies)
#绘制直方图
import pygal
hist=pygal.Bar()
hist.title='results of rolling one d6 100 times'
hist.x_lables=['1','2','3','4','5','6']
hist.x_title='result'
hist.y_title='frequency of result'
hist.add('d6',frequencies)
#将图渲染为SVG文件,需要打开浏览器,才能查看生成的直方图
hist.render_to_file('die_visual.svg')
同时投掷两个骰子:
from random import randint
#创建一个骰子的类
class Die():
def __init__(self,num_sides=6):
self.num_sides=num_sides
def roll(self):
#返回一个位于1和骰子面数之间的随机值
return randint(1,self.num_sides)
#掷骰子
die1=Die()
die2=Die()
#创建一个列表,将结果存储在一个列表中
results=[]
#投100次
for roll_num in range(100):
result=die1.roll()+die2.roll()
results.append(result)
print(results)
#分析结果,计算每个点数出现的次数
frequencies=[]
max_result=die1.num_sides+die2.num_sides
for value in range(1,max_result+1):
frequency=results.count(value)
frequencies.append(frequency)
print(frequencies)
#绘制直方图
import pygal
hist=pygal.Bar()
hist.title='results of rolling one d6 dice 100 times'
hist.x_lables=['2','3','4','5','6','7','8','9','10','11','12']
hist.x_title='result'
hist.y_title='frequency of result'
hist.add('d6+d6',frequencies)
#将图渲染为SVG文件,需要打开浏览器,才能查看生成的直方图
hist.render_to_file('die_visual.svg')
同时投掷两个面数不同骰子:
from random import randint
#创建一个骰子的类
class Die():
def __init__(self,num_sides=6):
self.num_sides=num_sides
def roll(self):
#返回一个位于1和骰子面数之间的随机值
return randint(1,self.num_sides)
#掷骰子
die1=Die()
die2=Die(10)
#创建一个列表,将结果存储在一个列表中
results=[]
#投100次
for roll_num in range(100):
result=die1.roll()+die2.roll()
results.append(result)
print(results)
#分析结果,计算每个点数出现的次数
frequencies=[]
max_result=die1.num_sides+die2.num_sides
for value in range(1,max_result+1):
frequency=results.count(value)
frequencies.append(frequency)
print(frequencies)
#绘制直方图
import pygal
hist=pygal.Bar()
hist.title='results of rolling one d10 dice 100 times'
hist.x_lables=['2','3','4','5','6','7','8','9','10','11','12','13','14','15','16']
hist.x_title='result'
hist.y_title='frequency of result'
hist.add('d6+d10',frequencies)
#将图渲染为SVG文件,需要打开浏览器,才能查看生成的直方图
hist.render_to_file('die_visual.svg')
结论
以上就是本文关键所在,分享给大家的Python大数据可视化Pygal仿真模拟摇筛子完整实例。代码易懂简单,希望能对你有所帮助。祝愿大家多多不断学习提高,万事如意!
原创文章,作者:小编小本本,如若转载,请注明出处:https://www.benjiyun.com/yunzhujiyunwei/vps-yunwei/6608.html
