LoginSignup
2
4

StreamlitとPlotlyを組み合わせた動的なグラフの作成方法

Posted at

お疲れ様です。

今日は「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としてインポートします。

上記のコードを実行して出力されたグラフは以下の通りです。

Screenshot 2024-04-12 at 10.48.03 PM.png

Plotlyが特徴的な点は、右上のツールの所です。

画像のダウンロードやグラフの拡大縮小、表示範囲の選択など様々なツールが用意されているため、ユーザーが扱いやすいグラフを用意できます。

また、3Dグラフの作成も可能で、以下のようなグラフをStreamlit上で表示可能です。

Screenshot 2024-04-12 at 10.48.30 PM.png

このように、高度なグラフも作成できることから、ダッシュボードの作成にはPlotlyが用いられることがあります。

なので、覚えておいて損はないでしょう。

StreamlitとPlotlyの組み合わせ方の例

Streamlitのウィジェットと組み合わせ方の1例を紹介します。

例えば、トグルを用意して、ONの状態でグラフを表示させることができます。

Screenshot 2024-04-12 at 10.49.08 PM.png

トグルのようにユーザーが表示するかどうかを選べるようにすることで、ユーザー満足度が上がります。

他にも、セレクトボックスで表示するグラフを変えたり、複数選択ボックスで変数の数を変えたりすることも可能です。

複数選択ボックスについて詳しく知りたい方は、【完全網羅】Streamlitのmultiselectの扱い方を解説の記事をご参照ください。

今日は以上です。

ありがとうございました。
よろしくお願いいたします。

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4