简介
Pygal是Python可视化包, 可以用来生成矢量图形文件, 专注于在数字设备上显示的图标.
官方文档: http://www.pygal.org/en/stable/
安装Pygal
默认是从国外的pip源下载软件包, 下载速度太慢, 可以考虑切换为国内的pip源.
https://pypi.tuna.tsinghua.edu.cn/simple/ # 清华大学
https://mirrors.aliyun.com/pypi/simple/ # 阿里云
https://pypi.douban.com/simple/ # 豆瓣
https://pypi.mirrors.ustc.edu.cn/simple/ # 中国科学技术大学
https://pypi.hustunique.com/ # 华中科技大学
怎么永久切换pip源, 请读者自行百度, 下面使用临时方法
Linux或mac
# -i 是指临时从中国科学技术大学的pip源 中下载软件包
pip3 install --user pygal -i https://pypi.mirrors.ustc.edu.cn/simple/
windows
python -m pip install --user pygal
检查是否安装成功: 进入python3 工作台, 测试 import pygal
命令
没有报错就安装成功.
使用Pygal模拟掷骰子
创建一个骰子类(die.py)
from random import randint
class Die:
"""表示一个骰子的类"""
def __init__(self, num_sides=6):
"""骰子默认为6面"""
self.num_sides = num_sides
def roll(self):
"""返回一个位于骰子面数的随机的值,默认1-6"""
return randint(1, self.num_sides)
掷骰子类(die_visual.py)
import pygal
from die import Die
# 创建两个骰子
die1 = Die()
die2 = Die()
# 掷几次骰子,并将结果存储在一个列表中
results1 = []
results2 = []
for roll_num in range(1000):
result1 = die1.roll()
result2 = die2.roll()
results1.append(result1)
results2.append(result2)
# 分析结果
# 分析第一个骰子的结果
frequencies1 = []
for value in range(1, die1.num_sides + 1):
# count() 统计一个值在列表中出现的次数
frequency1 = results1.count(value)
frequencies1.append(frequency1)
# 分析第二个骰子的结果
frequencies2 = []
for value in range(1, die2.num_sides + 1):
# count() 统计一个值在列表中出现的次数
frequency2 = results2.count(value)
frequencies2.append(frequency2)
# 对结果进行可视化
hist = pygal.Bar()
hist.title = "两个骰子随机滚动1000次的结果"
hist.x_labels = ['1', '2', '3', '4', '5', '6']
hist.x_title = "结果"
hist.y_title = "结果频率"
# 将一系列值添加到图表中
hist.add('骰子1', frequencies1)
hist.add('骰子2', frequencies2)
hist.render_to_file('die_visual.svg')
运行die_visual.py 会在当前文件目录下生成die_visual.svg文件, 可用浏览器直接查看
源码文件:
die.py
die_visual.py
die_visual.svg
Python3 目录
评论