16 資料視覺化
阿新 • • 發佈:2020-06-26
在我們開始的我們的視覺化的之旅之前,需要簡單的介紹一些資料分析工具,我們的資料視覺化的任務也是建立在資料分析的基礎之上。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 工具來繪製視覺化圖形,從而讓我們的資料更加生動,更加被一般使用者所理解和使用。