可視化包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')