1. 程式人生 > Python爬蟲入門教學 >16 資料視覺化

16 資料視覺化

在我們開始的我們的視覺化的之旅之前,需要簡單的介紹一些資料分析工具,我們的資料視覺化的任務也是建立在資料分析的基礎之上。Python 的主要資料分析工具如下所示:

  • Numpy:這個是資料計算的工具,主要用來進行矩陣的運算,向量運算等等。

  • Scipy:科學計算函式庫,主要用在學術領域,主要包含線性代數模組,訊號與影象處理模組,統計學模組等等。

  • Sympy:數學符號計算庫

  • Pandas:包含了 numpy 的各種功能,並提供了更加強大的函式,以及更加豐富的資料模型。
    Pandas的主要資料結構為 Series 和 DataFrame。

    • Series 可以當作是一般的陣列,區別就是Series陣列有索引的性質,這個和普通的陣列十分不同。我們可以通過series.index來獲取index的值。

    • DataFrame 可以把它想像成資料的表格的概念,它是把一個或者多個Series按照邏輯合併後的二維資料結構。

接下來讓我們開始我們資料視覺化之旅吧。

首選,我們來畫一張最基本的直方圖。

from matplotlib import pyplot //引入matplotlib庫進行繪製圖形
import numpy as np  //引入numpy,來生成隨機數
x = np.arage(12)
y = np.random.rand(12)
labels = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct'
, 'Nov', 'Dec] pyplot.bar(x,y, color='red', tick_label=labels) //繪製條形圖 pyplot.title('first chart') plot.show()

上面這幅是條形圖,我們可以看到 x 軸是月份,總共分為 12 個月,縱軸則是每個月的數值在 0-1 之間的值。

x = np.random.randn(800)
pyplot.hist(x,150)   //繪製直方圖
pyplot.title('second chart')
pyplot.show()


上面這幅是直方圖,預設的為藍色,資料在我們取隨機數之後,基本上是呈現一個對稱分佈的情況。

from mpl_toolkits.mplot3d import Axes3D   //引入三維圖形包

pic = pyplot.figure()
ax = Axes3D(pic)
x = np.arange(-1, 3, 0.3)  //x軸取值範圍
y = np.arange(-1, 3, 0.3   //y軸取值範圍
a, b = np.meshgrid(x,y)    //繪製二維圖形
c = a**2 + b **2
ax.plot_surface(a,b,c, cmap= pyplot.get_cmap('rainbow')) //繪製三維圖
ax.set_zlim(-1, 10)
pyplot.title('last chart')
pyplot.show()

除了簡單的二維圖形,同樣,matplotlib 也可以很輕鬆的繪製三維圖形,上面的程式碼就是我們繪製三點陣圖形的簡單版本,效果如下所示:

總結

爬蟲只是我們獲取資料的第一步,我們最終的目的是要讓資料服務於人類,因此,我們需要Numpy,Pandas 等資料分析工具分析資料,然後使用 matplotlib 工具來繪製視覺化圖形,從而讓我們的資料更加生動,更加被一般使用者所理解和使用。