可视化包Pygal来生成可缩放的矢量图形文件。对于须要在尺寸 不一样的屏幕上显示的图表,这颇有用,由于它们将自动缩放,以适合观看者的屏幕。若是你打算 以在线方式使用图表,请考虑使用Pygal来生成它们,这样它们在任何设备上显示时都会很美观。
安装python
pip install --user pygal
使用Pygal模拟骰子app
#!/usr/bin/env python # -*- coding:utf-8 -*- from random import randint import pygal class Dice(): '''表示一个骰子的类''' def __init__(self, num_sides=6): '''骰子默认为6面''' self.num_sides = num_sides def roll(self): '''返回一个位于1和骰子面数之间的随机值''' return randint(1, self.num_sides) dice = Dice() dice2 = Dice(10) # 掷几回骰子,并将结果存储在一个列表中 results = [] for roll_num in range(5000): result = dice.roll() + dice2.roll() results.append(result) # 分析结果 frequencies = [] max_result = dice.num_sides + dice2.num_sides for value in range(2, max_result + 1): frequency = results.count(value) frequencies.append(frequency) # 对结果进行可视化 hist = pygal.Bar() hist.title = "Results of rolling a D6 and a D10 50,000 times." hist.x_labels = ['2', '3', '4', '5', '6', '7', '8', '9', '10', '11', '12', '13', '14', '15', '16'] hist.x_title = "Result" hist.y_title = "Frequency of Result" hist.add('D6+D10', frequencies) hist.render_to_file('dice_visual.svg')