Python教學-matplotlib折現圖繪製:雙軸折線圖看股價表現

今天要跟大家分享的是趨勢觀察不可或缺的小幫手—折線圖!
有看過前幾天我們分享Python基礎教學裡面Pandas(IV)單元的朋友可能還有印象,當時我們要看兩檔股價的趨勢,但因為兩者股價差異太大,在共用相同y軸的情況導致其中一檔的股價變化我們無法掌握。最後我們透過轉換成累計報酬的方式比較兩者之間的表現。今天,我們將分享如何在圖上繪製兩個y軸,未來遇到任何scale差異過大的資料,我們都可以透過雙軸做美美的圖形呈現!

本單元我們簡單介紹折線圖的繪製,包含顏色更改、線圖風格、標籤顯示、圖示選擇、網格呈現等等。更重要的是,我們還要一口氣學會雙軸的繪製,包含雙軸顏色的設定等等。事不遲疑,讓我們開始吧!

https://youtu.be/xLnNrHqGfrw

折線圖繪製

這邊我們會先分享基礎折線圖繪製,進而加入雙軸。

引入繪圖模組

import matplotlib.pyplot as plt
%matplotlib inline

繪製折線圖

ax.plot(data,color='skyblue', label='Stock Price', linestyle='-',marker='o')

其中,
data為我們要放入的折線圖資料,亦可一次放入很多條線的資料
color: 顏色選擇
label: 標籤顯示
linestyle: 線條風格
marker: 圖例樣式

網格繪製

透過
plt.grid()
可以繪製出折線圖的背景網格。

雙軸圖繪製

要繪製雙軸,最重要的就是在第二個圖繪製前加入:

ax2=ax.twinx()

這樣我們就可以在同一張圖上的右側得到第二筆資料的座標軸,接著就可以依照前述方式繪製折線圖。

Y軸顯示

可以對兩筆資料分別給定Y軸的標籤及顏色,比方說我們先給定第一筆資料(左軸)一些設定:

ax.set_ylabel('GOOG',color='skyblue', fontsize=20)
ax.tick_params(axis='y',labelcolor='skyblue')

藉由搭配資料給定兩個y軸不同的顏色,可以讓讀者更清楚資料與軸的搭配。

標題設定

另外我們藉由title給定圖形標題,並利用fontsize調整字體大小。

plt.title('GOOG v.s MSFT', fontsize=20)

顯示標籤

透過legend可以顯示我們剛剛給定的標籤(label)。

plt.legend()

折線圖的應用

折線圖的應用相當廣泛,只要跟時間序列相關的資料,幾乎都可以採用折線圖完美呈現。在金融投資領域中,舉凡與趨勢有關的資料,包含股價走勢、技術指標 (如均線、KD、MACD、RSI等等)、營收、獲利等財報資訊,皆可透過折線圖清楚繪製。

打開電腦,用你的資料畫一張折線圖吧! 歡迎與我們分享你的成果!

程式檔案,歡迎於此下載

Share

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *