使用Pygal
pygal是python的可视化包,只要用来生成可以生成可缩放的矢量图形文件,对于需要在尺寸不同的屏幕上显示的图表,它们将自动缩放,以适应观看者的屏幕。
如果你打算以在线方式使用图表,请考虑使用Pygal来生成它们,这样它们在任何设备上显示时都会很美观。
#矢量图放大不失真
(1)安装pygal包
Linux和OSX系统
pip install --user pygal
Windows系统
python -m pip install --user pygal
【注意】:你可能需要使用命令pip3 而不是pip ,如果这还是不管用,你可能需要删除标志–user 。
要了解使用Pygal可创建什么样的图表,请查看图表类型画廊:访问http://www.pygal.org/ ,单击Documentation,再单击Chart types。每个示例都包含源代码,让你知道这些图表是如何生成的。
(2)案例模拟
【案例需求】:使用Pygal模拟掷骰子。
【案例模拟】:掷6面的常规骰子时,可能出现的结果为1~6点,且出现每种结果的可能性相同。然而,如果同时掷两个骰子,某些点数出现的可能性将比其他点数大。为确定哪些点数出现的可能性最大,我们将生成一个表示掷骰子结果的数据集,并根据结果绘制出一个图形。
【案例实现】:
#创建Die类
class Die():
"""表示一个骰子的类"""
def __init__(self, num_sides=6):
"""骰子默认为6面"""
self.num_sides = num_sides
def roll(self):
""""返回一个位于1和骰子面数之间的随机值"""
return randint(1, self.num_sides)
模拟掷骰子
情形一、掷一个6面的骰子,分析结果
#掷一个6面的骰子
def roll_die():
#实例一个骰子对象,面数采用默认值
die = Die()
#掷几次骰子,并将结果存储在一个列表中
results = []
for roll_num in range(1000):#循环掷100次
result = die.roll()
results.append(result)#把结果存入结果列表
#补充 range(end) 默认从0开始,即0-end-1 含0,不含end
# 分析掷骰子结果 results结果集
#frequencies={}
frequencies =[]
for value in range