矢量图形文件"/>
13. Python3 使用Pygal生成矢量图形文件
简介
Pygal是Python可视化包, 可以用来生成矢量图形文件, 专注于在数字设备上显示的图标.
官方文档: /
安装Pygal
默认是从国外的pip源下载软件包, 下载速度太慢, 可以考虑切换为国内的pip源.
/ # 清华大学
/ # 阿里云
/ # 豆瓣
/ # 中国科学技术大学
/ # 华中科技大学
怎么永久切换pip源, 请读者自行百度, 下面使用临时方法
Linux或mac
# -i 是指临时从中国科学技术大学的pip源 中下载软件包
pip3 install --user pygal -i /
windows
python -m pip install --user pygal
检查是否安装成功: 进入python3 工作台, 测试 import pygal
命令
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HjhKWQBZ-1637590583120)(/upload/2020/10/%E6%88%AA%E5%B1%8F2020-10-22%20%E4%B8%8B%E5%8D%881.36.47-9f0a572d6a4c4247817e40c524c3e5a7.png)]
没有报错就安装成功.
使用Pygal模拟掷骰子
创建一个骰子类(die.py)
from random import randintclass Die:"""表示一个骰子的类"""def __init__(self, num_sides=6):"""骰子默认为6面"""self.num_sides = num_sidesdef 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文件, 可用浏览器直接查看
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XjAhWepo-1637590583121)(/upload/2020/10/%E6%88%AA%E5%B1%8F2020-10-22%20%E4%B8%8B%E5%8D%882.02.11-1cdda5e926dc492fad469723af93e71a.png)]
源码文件:
die.py
die_visual.py
die_visual.svg
Python3 目录
- Python3 教程
- Python3 变量和简单数据类型
- Python3 列表
- Python3 操作列表
- Python3 if 语句
- Python3 字典
- Python3 用户输入和while循环
- Python3 函数
- Python3 类
- Python3 文件和异常
- Python3 测试代码
- Python3 使用matplotlib绘制图表
- Python3 使用Pygal生成矢量图形文件
- Python3 使用csv模块处理CSV(逗号分割的值)格式存储的天气数据
- Python3 处理JSON格式数据(制作交易收盘价走势图)
- Python3 使用API
更多推荐
13. Python3 使用Pygal生成矢量图形文件
发布评论