1. 本际云推荐 - 专业推荐VPS、服务器,IDC点评首页
  2. 云主机运维
  3. VPS运维

python大数据可视化pygal仿真模拟摇筛子完成实例

介绍

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

python大数据可视化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