こちらの記事はYoutubeにも動画をアップしています。ぜひ、ご活用ください。
STEP2 株価データの終値でグラフを表示する
コーディングする前に前回のコードをまとめておきます
# 以下のコードは必要ないので削除
!pip3 install pandas-datareader
!pip3 install python-dateutil
data.DataReader('AAPL', 'stooq', '2021/1/1', '2021/12/30')
df.head()
前回インストールしたpandas-datareaderとpython-dateutilの所はインストール済で必要ないので削除します。
また直接引数に値を入力したDataReaderも必要ないので削除します。
dfのデータを確かめるために使ったdf.head()も必要ないので削除します。
from pandas_datareader import data
from datetime import date
from dateutil.relativedelta import relativedelta
ticker = 'aapl'
end = date.today()
start = end - relativedelta(years=1)
df = data.DataReader(ticker, 'stooq', start, end)
コードの始めにライブラリのインポートをまとめておくと後々管理しやすいです。
プログラミングしていくと途中でライブラリを追加することがよくあります。
実際、今回もライブラリをこのあと追加します。
グラフを表示するライブラリPlotlyをインストール
!pip3 install plotly==5.5.0
グラフを表示するためにPlotlyというライブラリのサイトを参考にインストールします。
# 以下のコードは必要ないので削除
!pip3 install plotly==5.5.0
これもインストールが終わったら必要ないので削除します。
インストールしたPlotlyをインポート
from pandas_datareader import data
from datetime import date
from dateutil.relativedelta import relativedelta
# 追加
import plotly.graph_objects as go
Plotlyのサイトを参考にします。
インストールしたPlotlyのgraph_objectsを別名goとしてimportします。
asの後に別名を指定するとコードを短くすることができます。
Plotlyを使ってみる
fig = go.Figure(go.Scatter(x=df.index, y=df['Close']))
fig.show()
Scatterの2つの引数を指定します。
Scatterの引数xにはグラフの横軸を指定します。
dfのインデックスを指定しましょう。
Scatterの引数yにはグラフの縦軸を指定します。
終値のグラフを表示するので終値であるdfのCloseの列を指定します。
実行するとグラフが表示されます。

グラフのタイトルと縦軸と横軸の項目名を追加表示
fig = go.Figure(go.Scatter(x=df.index, y=df['Close']))
fig.update_layout(title='AAPL Close Chart', xaxis_title='Date', yaxis_title='Close Price($)')
fig.show()
グラフを表示できましたが始めて見る人には何のグラフか分かりません。
そこでグラフのタイトルと縦軸と横軸の項目名を表示します。
update_layoutの3つの引数を指定します。
引数titleにグラフのタイトル’AAPL Close Chart’を代入します。
引数xaxis_titleに横軸の項目名’Date’を代入します。
引数yaxis_titleに縦軸の項目名’Close Price($)’を代入します。
実行するとグラフが表示されます。
これでどんなグラフなのか誰でも分かるようになりました。

次回は終値の線グラフと一緒に始値の線グラフを表示する
今回は終値のグラフを表示しました。
次回は終値の線グラフと一緒に始値の線グラフを表示します。