数据可视化——使用pygal包模拟投掷骰子

  1. pygal包用于生成可缩放的矢量图形文件,自动适应屏幕大小。
  2. 查看pyagl可生成什么样的图表
  3. svg图像文件(Scaled Vector Graphis)目前最火的图像文件格式,可缩放的矢量图形,利用web浏览器打开

die.py

from random import randint


class Die():
    """表示一个骰子的类"""

    #  默认值为6,6面的骰子名为D6,8面的骰子为D8
    def __init__(self, num_sides=6):
        """骰子有6个面"""
        self.num_sides = num_sides

    def roll(self):
        """返回一个位于1和骰子面数之间的随机值"""
        return randint(1, self.num_sides)

die_visual.py

from die_1 import Die
import pygal

# 创建一个D6
die = Die()

# 扔几次骰子,并将结果存储在一个列表中,扔1000次
results = []
for roll_num in range(1000):
    result = die.roll()
    results.append(result)

# 分析结果,每个点数出现的次数
# 先遍历可能的点数,再看点数的次数
frequencies = []
for value in range(1, die.num_sides+1):
    frequency = results.count(value)
    frequencies.append(frequency)

print(str(frequencies)+'\n')
print(results)

# 对数据进行可视化操作 hist(直方图)
hist = pygal.Bar()

hist.title = "Results of rolling one D6 1000 times"
hist.x_labels = ['1', '2', '3', '4', '5', '6']
hist.x_title = "Result"
hist.y_title = "Frequencies of Result"

hist.add('D6', frequencies)
hist.render_to_file('die_visual_2.svg') # 渲染成svg文件,SVG可以算是目前最最火热的图像文件格式了,它的英文全称为
# Scalable Vector Graphics,意思为可缩放的矢量图形

# 查看直方图的最简单方法就是打开web浏览器标签页,打开文件die_viasual.py(所在位置)。
# pygal让图标具有交互性,可以鼠标滑动过去凸显目标数据

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值