程式語言-看盤版面(上)-圖框教學

難易程度★★

此篇文章使用 Anaconda的 Jupyter寫程式,測試環境 python3.6,事先完成 matplotlib、numpy套件安裝

本篇用 matplotlib套件裡不同方法繪製圖框

前幾篇的程式畫出來的圖都是線條來呈現,如下圖

但實際上我們在看盤的時候其實都是看蠟燭圖(candlesticks)

也就是每天的『開盤價』(open)、『收盤價』(close)、『最低值』(low)、『最高值』(high)

有時也會參考一些技術指標,例如「KD值」(kd)及「成交量」(volume)

不過今天要先從基礎圖框練習,為此,版主還真的專研了一陣子

介紹套件

matplotlib是Python及NumPy的可視化操作界面, pyplot是matplotlib裡的一個模塊

今天我們要深入到用pyplot裡的`figure物件,裡面有兩種繪圖的方法

  • figure.add_subplot()
  • fig.add_axes()

add_axes和add_subplot有什麼區別?

此連結有清楚的解釋兩者些許的差異,不過下面程式也會解說

程式解析

  1. 導入教學所需的套件

2. 繪製初始圖框,記得要plot(繪製)及show(顯示)

3. 使用add_subplot繪製圖框,這裡切了2x3共6塊,只顯示第1、2、5、6塊

參數:add_subplot(上下切幾塊,左右切幾塊,左上到右下第幾塊)

4. 設定座標範圍及座標數,這裡將x座標範圍(set_xlim)設1~10.1,標籤(set_xticks)設定1~10,標籤間距為1

注意:set_xtick的範圍尾數要+1

5. 設定標籤顯示資料(set_xticklabels),放入文字a~j,可以自行調整字體大小(fontsize)及旋轉角度(rotation)

6. 練習在裡面畫sin的圖形。因為有x、y參數,記得使用plt.plot(x, y)

休息一下

7. 使用add_axes繪製圖框,圖框的位置是自己定義的,兩個圖塊可以重疊

參數:add_axes( x初始座標, y初始座標, 寬, 高 )

8. 比照上面練習繪圖,每一個圖塊都畫sin函數

注意:一般會習慣將座標文字放在最後一個圖塊

附上原始程式碼

這次的教學教了

  1. 了解matplotlib套件模塊
  2. 學習使用add_subplot及add_axes方法
  3. 了解add_subplot及add_axes參數內容
  4. 學習使用set_xlim、set_xticks及set_xticklabels方法
  5. 了解set_xlim、set_xticks及set_xticklabels參數內容
  6. 成功繪製圖框及標題設定

--

--