Python學習之路14-生成數據

本系列是對入門書籍《Python編程:從入門到實踐》的筆記整理,屬於初級內容。標題順序採用書中標題。

從本篇起將用三篇的篇幅介紹如何用Python進行數據可視化。

1. 前言

從本篇開始,我們將用三篇的篇幅來初步介紹如何使用Python來進行數據可視化操作。本篇的內容包括:

  • 繪製簡單的折線圖;

  • 隨機漫步;

  • 使用Pygal模擬擲骰子。

在正式開始之前,需要安裝兩個擴展包:matplotlibpygal。Python中安裝第三方庫的方式已在上一個項目中介紹過了,這裡不再贅述。

2. 繪製簡單的折線圖

2.1 簡單的折線圖

首先我們繪製一個簡單的折線圖,代碼保存到

mpl_squares.py文件中:

Python學習之路14-生成數據

pyplot.plot()函數可以只傳入一個squares參數,表示y軸的值,此時將從x0點處開始一一對應。有時這樣很簡便,但在此例中圖標將不正確,所以我們傳入了input_values列表,將其與squares列表一一對應。

代碼從第10行到15行都可以省了,這些代碼只是讓圖表的信息更全。最終的結果如下:

Python學習之路14-生成數據

2.2 生成散點圖

我們使用matplotlib.pyplot中的scatter()函數來生成散點圖,將代碼保存到scatter_squares.py文件中:

Python學習之路14-生成數據

我們使用了列表生成式來生成y軸的數據,並使用漸變色來繪製圖像,pyplot.cm.Blues

matplotlib自帶的漸變色,它和c的每一個值對應。通過pyplotaxis()函數來設置每個軸的取值範圍。最後將圖像保存到本地。生成的圖像如下:

Python學習之路14-生成數據

3. 隨機漫步

隨機漫步指的是:每次行走都完全隨機,沒有明確的方向,結果是由一系列隨機決策決定的。在自然界、物理學、生物學、化學和經濟領域,隨機漫步都有其實際用途。

使用Python生成隨機漫步數據,再使用matplotlib將這些數據繪製出來。首先創建RandomWalk類,代碼保存到random_walk.py文件中:

Python學習之路14-生成數據

下面的代碼用於生成隨機漫步圖像,代碼保存到rw_visual.py文件中:

Python學習之路14-生成數據

程序通過一個循環類多次繪製隨機漫步圖;通過pyplotfigure()函數來設置圖像的尺寸,figsize的單位是英寸;通過漸變色來繪製圖像的路徑,顏色由淺到深,並且我們將起點(綠色)和終點(紅色)顯著標出;最後隱藏座標軸。最終的圖像如下(每次運行的效果都不同):

Python學習之路14-生成數據

4. 使用Pygal模擬擲骰子

首先我們需要創建一個骰子類Dice,將其保存到dice.py中:

Python學習之路14-生成數據

可以自行設定骰子的面數。下面是擲兩個骰子50000次,統計倆骰子點數之和的分佈的模擬,最後生成了一個矢量文件.svg文件,它能在瀏覽器中打開,代碼如下:

Python學習之路14-生成數據

注意,frequences中的數據依次與hist.x_labels對應。下面是最終結果:

Python學習之路14-生成數據

Pygal讓這個圖表具有交互性:如果你將鼠標指向該圖中的任何數據條,將看到它的具體數據。

5. 小結

本篇主要講述了:

  • 如何生成數據集以及如何對其進行可視化;

  • 如何使用matplotlib創建簡單的圖表;

  • 如果使用散點圖來探索隨機漫步過程;

  • 如何使用Pygal創建直方圖,以及如何使用直方圖來探索同時擲兩個面數不同的骰子的結果。


分享到:


相關文章: