前往小程序,Get更优阅读体验!
立即前往
发布
社区首页 >专栏 >数据可视化-pygal

数据可视化-pygal

作者头像
y191024
发布2022-09-20 19:01:27
发布2022-09-20 19:01:27
16700
代码可运行
举报
运行总次数:0
代码可运行

用pygal模拟投骰子并生成柱状图

die.py

代码语言:javascript
代码运行次数:0
复制
# 用pygal模拟骰子
from random import randint
class Die:
    def __init__(self, num_sides = 6):
        self.num_sides = num_sides

    def roll(self):
        return randint(1, self.num_sides)

dice_visual.py

代码语言:javascript
代码运行次数:0
复制
from die import Die
import pygal

die = Die()
results = []
# 投骰子的次数
for roll_num in range(1000):
    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)
# 对结果进行可视化
hist = pygal.Bar()  # 柱状图
hist.title = "Results of rolling a D6 1000 times"
hist.x_labels = ["1", "2", "3", "4", "5", "6"]
hist.x_title = "Result"
hist.y_title = "Frequency of result"

hist.add("D6", frequencies)
hist.render_to_file("die visual.svg")  # 生成一个名为 die_visual的矢量图

用火狐浏览器打开svg格式的矢量图,还会有交互效果,由于是矢量图,尺寸放大了也不会模糊 。

学习了pyplot和pygal后发现,pyplot的label是pygal中的title,使用起来也不一样,pyplot是xlabel(...) pygal是x_title = ...真烦

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2021-04-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 睡不着所以学编程 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档