【Python】Plotly ドロップダウンでグラフを切り替える方法

Python備忘録。内容は初心者向けです。

今回の内容

  • Pandasでcsvファイルを読み込み東証時価総額の推移グラフを作成
  • 東証1部と東証2部をひとつのグラフに表示して、それぞれをドロップダウンで切り替える



使用するのはPlotly

使用するライブラリは、見た目のよいイマドキのグラフが作成できるPlotlyです。

サンプルコード


import plotly.graph_objects as go
import pandas as pd

df = pd.read_csv("jika-2.csv")

fig = go.Figure()

fig.add_trace(
    go.Scatter(x=list(df.index),
               y=list(df.sec1),
               name="東証1部",
               line=dict(color="#33CFA5")))

fig.add_trace(
    go.Scatter(x=list(df.index),
               y=list(df.sec2),
               name="東証2部",
               line=dict(color="#F06A6A")))


fig.update_layout(
    updatemenus=[
        dict(
            active=0,
            buttons=list([
                dict(label="東証1部&2部",
                     method="update",
                     args=[{"visible": [True, True]},
                           {"title": "東証 時価総額"}]),
                dict(label="東証1部",
                     method="update",
                     args=[{"visible": [True, False]},
                           {"title": "東証1部 時価総額"}]),
                dict(label="東証2部",
                     method="update",
                     args=[{"visible": [False, True]},
                           {"title": "東証2部 時価総額"}]),
                
            ]),
        )
    ])

fig.update_layout(
    title_text="東証 時価総額",
    xaxis_domain=[0.05, 1.0]
)

fig.show()

コメント

前回の記事「【Python】Plotlyでグラフを切り替える方法 #ボタン実装」の続きです。

前回はボタンで切り替える方法を記載しました。今回はそれをドロップダウンへ変更しました。

ボタンができたらドロップダウンは簡単にできますね。

「fig.update_layout〜」のところを一部変更しただけです。

元データはこちら。

1961年から2021年まで毎月末の株価をプロットしています。

出力




いい感じですね。プレゼンとかでも映えそうです。

↑Plotlyを使うならこれ!!Plotly&Dashが学べます!

↑データの前処理はPandasで。