好的視覺化圖表可以讓人迅速掌握資料的特性及重要意涵,是在資料處理中相當重要的一環!
前面分別介紹過台銀即時匯率資料及股票交易資料的抓取操作範例!
也介紹過將資料儲存至sqlite資料庫的方法,當資料日積月累的儲存一段時間後,也就可以進行資料的分析及圖表繪製工作了!
這次我們延續之前台灣股票套件(twstock)的操作,利用其套件進行抓取指定股票(本次操作以「廣達(2382)」為例)前31天的股價資料,並將其資料利用python視覺化圖表工具:Matplotlib,進行圖表繪製操作,作為練習Matplotlib及資料視覺化的入門。
首先確定你已經安裝本次操作所需的套件:twstock, matplotlib
若尚未安裝或不確定,可以透過以下指令進行安裝或檢測:
pip install -U twstock
pip install -U matplotlib
想對Matplotlib有更完整的認識,可以到這裡逛逛!
這次的操作練習我們分成二個層次進行操作:
第一階段:我們著重將資料抓取後,迅速繪製出圖表並加以儲存、呈現。
第二階段:我們則進一步,將重點放在圖表的設定操作上,讓圖表呈現更具個性化!
好囉~~現在就先看第一階段目標如何達成囉...........
from matplotlib import pyplot as plt
from twstock import Stock
tw2382 = Stock("2382") # 設定指定的股票(代號)
x = list(range(-31, 0)) # 產生一組[-31~-1]的列表(list)作為對應
y1 = tw2382.price # 抓取指定股票前31天收盤價
y2 = tw2382.high # 抓取指定股票前31天最高價
y3 = tw2382.low # 抓取指定股票前31天最低價
plt.title("廣達(2382)前31天交易價格變動趨勢圖") # 設定圖表標題
plt.xlabel(f"日期區間") # 設定x軸標籤
plt.ylabel("價格(元)") # 設定y軸標籤
plt.plot(x, y1) # 繪製第一組數線
plt.plot(x, y2)
plt.plot(x, y3)
plt.savefig('tw2382_o.png')
plt.show() # 顯示圖表
執行結果,會將繪製的圖表以檔名:tw2382_o.png儲存於程式目錄下,如下圖所示:(驚不驚喜~~意不意外...簡單吧?!呵~~)
基本上,這樣就可以完成將資料視覺化的初步工作!
在第一階段中~~你唯一可能遇到的問題,就是中文無法正常顯示(變成亂碼)的狀況,這問題我在之前就有先描述談論過了,有中文無法正常顯示困擾的請看這裡參考!
假如你已經滿意以上的結果,就可以打完收工~~吃飯睡覺去了!
========== ******************* ============
若是你跟我一樣有點「龜毛」~~想要對圖表進行一些個人化的設定工作,那就歡迎繼續看下去~~~
第二階段:我們會進一步設定包括~~標題格式、X,Y軸標籤設定、折線線條設定、圖例等相關操作設定。