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
は、直感的な単一選択メニューを提供するための便利なツールです。
ユーザーの選択に基づく動的なインターフェースを作る際にも役立ちます。