お疲れ様です。
今日は「StreamlitとPlotlyを組み合わせた動的なグラフの作成方法」について部分いたします。
Plotlyは、動的なグラフを作成するためのライブラリです。
Streamlitと組み合わせることで、ユーザーが操作できる動的なダッシュボードを作成することができます。
以下で解説していきます。
Plotlyでの基本的なグラフ作成
Plotlyでは、各グラフごとに関数が用意されており、その関数を変数に格納することで、Streamlitで表示できます。
例えば、以下のコードではpx.scatter
関数で散布図を作成し、st.plotly_chart
関数でStreamlit上に表示しています。
import streamlit as st
import plotly.express as px
# データの作成
df = px.data.iris()
# Plotlyでグラフを作成
fig = px.scatter(df, x='sepal_width', y='sepal_length', color='species')
# Streamlitで表示
st.plotly_chart(fig)
上記のコードは、アヤメのデータセットを基にした散布図を作成するものです。
また、Plotlyは、plotly.express
をpxとしてインポートします。
上記のコードを実行して出力されたグラフは以下の通りです。
Plotlyが特徴的な点は、右上のツールの所です。
画像のダウンロードやグラフの拡大縮小、表示範囲の選択など様々なツールが用意されているため、ユーザーが扱いやすいグラフを用意できます。
また、3Dグラフの作成も可能で、以下のようなグラフをStreamlit上で表示可能です。
このように、高度なグラフも作成できることから、ダッシュボードの作成にはPlotlyが用いられることがあります。
なので、覚えておいて損はないでしょう。
StreamlitとPlotlyの組み合わせ方の例
Streamlitのウィジェットと組み合わせ方の1例を紹介します。
例えば、トグルを用意して、ONの状態でグラフを表示させることができます。
トグルのようにユーザーが表示するかどうかを選べるようにすることで、ユーザー満足度が上がります。
他にも、セレクトボックスで表示するグラフを変えたり、複数選択ボックスで変数の数を変えたりすることも可能です。
複数選択ボックスについて詳しく知りたい方は、【完全網羅】Streamlitのmultiselectの扱い方を解説の記事をご参照ください。
今日は以上です。
ありがとうございました。
よろしくお願いいたします。