1. 程式人生 > 實用技巧 >79.Matplotlib和資料視覺化.md

79.Matplotlib和資料視覺化.md

使用Pygal繪製向量圖

向量圖(SVG)是計算機圖形學中用點、直線或者多邊形等基於數學方程的幾何圖元表示的影象,也是目前應用得非常多的一種影象檔案格式,全稱是“Scalable Vector Graphics”。和使用畫素表示影象的點陣圖不同,SVG基於XML儲存影象資料,它是W3C定義的一種開放標準的向量圖形語言,可以用來設計更為清晰的Web影象,因為SVG與解析度無關,在任意放大時不會丟失細節或影響清晰度。SVG可以直接用程式碼來描繪影象,也可以用任何文書處理工具來開啟它,通過改變SVG的程式碼我們可以讓影象具備互動功能。

Python中可以使用Pygal來生成SVG,可以通過pip來安裝它。

from random import randint
import pygal


def roll_dice(n=1):
    total = 0
    for _ in range(n):
        total += randint(1, 6)
    return total


def main():
    results = []
    # 將兩顆篩子搖10000次記錄點數
    for _ in range(10000):
        face = roll_dice(2)
        results.append(face)
    freqs = []
    # 統計2~12點各出現了多少次
for value in range(2, 13): freq = results.count(value) freqs.append(freq) # 繪製柱狀圖 hist = pygal.Bar() hist.title = "Result of rolling two dice" hist.x_labels = [x for x in range(2, 13)] hist.add("Frequency", freqs) # 儲存向量圖 hist.render_to_file("result.svg
") if __name__ == '__main__': main()