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

まくまく
まくまく
プラグラミング言語「PYTHON」を使ってみよう!!業務自動化・効率化の実例を踏まえ、解説できればと思っています。対象は、プログラムを学び始めた初心者向けとなります。

今回の内容

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



使用するのはPlotly

使用するライブラリは、見た目のよいイマドキのグラフが作成できるPlotly。エクセルでは作れない高度なグラフも作成できるおすすめのライブラリです。

ここではPlotlyがインストールされているのを前提として書き進めていきます。

サンプルコード

import plotly.graph_objects as go
import plotly
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()
plotly.offline.plot(fig,auto_open=False,filename='jika-dropdown-202102.html')

コメント

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

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

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

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

元データはこちら。

一部しか見えていませんが、1961年から2021年まで毎月末の株価が記載されています。

出力




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


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


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



タイトルとURLをコピーしました