79.Matplotlib和資料視覺化.md
阿新 • • 發佈:2020-09-07
使用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()