Streamlitは、シンプルなコードでインタラクティブなアプリケーションを構築できる便利なライブラリです。
streamlit.tabs
を使うと、複数のタブを切り替えて情報を整理して表示できます。
streamlit.tabs
の使い方について、基本的な使い方から応用例まで詳しく解説します。
基本的な使い方
st.tabs
を使うと、複数のタブを作成できます。それぞれのタブに異なるコンテンツを表示できます。
サンプルコード
import streamlit as st
# タブの作成
tabs = st.tabs(["タブ1", "タブ2", "タブ3"])
# 各タブに表示する内容
with tabs[0]:
st.header("タブ1の内容")
st.write("ここにタブ1の詳細情報を記載します。")
with tabs[1]:
st.header("タブ2の内容")
st.write("ここにタブ2の詳細情報を記載します。")
with tabs[2]:
st.header("タブ3の内容")
st.write("ここにタブ3の詳細情報を記載します。")
実行結果
このコードを実行すると、画面の上部に「タブ1」「タブ2」「タブ3」が表示され、それぞれをクリックすると異なるコンテンツが表示されます。
応用例
動的にタブを作成
タブの数や名前を動的に設定することも可能です。リストや変数を使って柔軟に対応できます。
import streamlit as st
# 動的にタブを生成
tab_names = ["ホーム", "設定", "ヘルプ"]
tabs = st.tabs(tab_names)
# タブに動的な内容を設定
for i, tab in enumerate(tabs):
with tab:
st.header(f"{tab_names[i]}の内容")
st.write(f"ここに{tab_names[i]}の詳細情報を記載します。")
タブで異なるデータ表示
タブを利用して異なるデータセットを表示することもできます。
import streamlit as st
import pandas as pd
# ダミーデータの作成
data1 = pd.DataFrame({"A": [1, 2, 3], "B": [4, 5, 6]})
data2 = pd.DataFrame({"X": [10, 20, 30], "Y": [40, 50, 60]})
tabs = st.tabs(["データセット1", "データセット2"])
with tabs[0]:
st.header("データセット1")
st.dataframe(data1)
with tabs[1]:
st.header("データセット2")
st.dataframe(data2)
注意点
- タブの内容が多すぎないようにする
タブの中に大量の情報を詰め込むと、ユーザーが混乱する可能性があります。 - タブ名をわかりやすくする
タブ名は内容を反映した直感的な名前を付けることで、ユーザーが迷わずに使えるようにします。
まとめ
st.tabs
を使うことで、Streamlitアプリケーションにおける情報の整理がより簡単になります。動的なタブ生成、データ表示の切替えといった、多様な使い方が可能です。