スポンサーリンク

【Streamlit】radioウィジェットの基本的な使い方

記事内に広告が含まれています。

Streamlit の radio ウィジェットは、ユーザーがリストから単一の選択肢を選べるシンプルなUIコンポーネントです。

radio を使うことで、アンケートやユーザーの選択を必要とするダッシュボードなど、直感的で簡単なインターフェースを提供できます。

ここでは、基本的な使い方から応用まで詳しく解説します。

スポンサーリンク

radioの基本的な使い方

Streamlit の radio 関数は以下のシンプルなコードで利用できます:

import streamlit as st

option = st.radio(
    "お好きなフルーツを選んでください:",
    ('りんご', 'オレンジ', 'バナナ')
)

st.write('選択されたフルーツ:', option)
  • st.radio は、選択肢をリストとして受け取り、選択された値を返します。
  • 最初の引数は、ラベルテキストです。ユーザーがわかりやすいように設定します。
  • 2番目の引数として、選択肢をリストまたはタプルで渡します。
スポンサーリンク

index引数で初期選択を指定

デフォルトの選択肢はリストの最初の項目ですが、index 引数で任意の項目を初期選択に指定できます。

option = st.radio(
    "お好きなフルーツを選んでください:",
    ('りんご', 'オレンジ', 'バナナ'),
    index=1  # 初期選択として2番目('オレンジ')を指定
)
st.write('選択されたフルーツ:', option)

ユーザーの選択に応じた動的なコンテンツの表示

ユーザーの選択に基づいて異なるメッセージや内容を表示したい場合は、以下のように条件分岐を使用します。

option = st.radio(
    "今日の天気はどうですか?",
    ('晴れ', '曇り', '雨')
)

if option == '晴れ':
    st.write("今日は外に出て楽しんでください!")
elif option == '曇り':
    st.write("曇りの日も気分を明るく!")
else:
    st.write("傘をお忘れなく!")

key引数で一意の識別子を指定

同じページ内で複数の radio ウィジェットを使う場合、key を指定することで重複を避けられます。

weather = st.radio("天気", ('晴れ', '曇り', '雨'), key="weather_radio")
mood = st.radio("気分", ('楽しい', '普通', '悲しい'), key="mood_radio")

radioを用いたユーザーインタラクションの応用例

radio を利用して、ユーザーの選択に基づいて表示される内容を動的に変化させる方法の例です。

page = st.radio("表示する内容を選んでください:", ['プロフィール', '設定', 'サポート'])

if page == 'プロフィール':
    st.write("ここにプロフィール情報が表示されます。")
elif page == '設定':
    st.write("ここに設定オプションが表示されます。")
else:
    st.write("サポート情報がここに表示されます。")

まとめ

Streamlit の radio は、直感的な単一選択メニューを提供するための便利なツールです。

ユーザーの選択に基づく動的なインターフェースを作る際にも役立ちます。

スポンサーリンク
PythonStreamlit
著者SNS
タイトルとURLをコピーしました