カラムと整理
メインエリアを整理するための強力なツールを紹介します。
カラム (Columns)
Section titled “カラム (Columns)”st.columns() を使うと、画面を横に分割できます。
with 文を使うことで、どのカラムに配置するかを直感的に記述できます。
import streamlit as st
st.title("画面を分割する (Columns)")
st.write("画面を横に分割して、要素を並べることができます。")
# 2つのカラムに分割 (左:右 = 1:1)col1, col2 = st.columns(2)
with col1: st.header("左側") st.write("ここは左のカラムです。") st.image("https://placehold.co/300x200/png", caption="左の画像")
with col2: st.header("右側") st.write("ここは右のカラムです。") st.button("右側のボタン")
st.write("---")
# 3つのカラムに分割 (幅の比率を指定 2:1:1)col_a, col_b, col_c = st.columns([2, 1, 1])
col_a.success("幅2のカラム")col_b.warning("幅1")col_c.error("幅1")タブ (Tabs)
Section titled “タブ (Tabs)”情報を切り替えて表示したい場合は st.tabs() が便利です。
物理的な画面スペースを節約できます。
import streamlit as st
st.title("タブによる切り替え")
# 3つのタブを作成tab1, tab2, tab3 = st.tabs(["📈 グラフ", "📄 データ", "ℹ️ 詳細"])
with tab1: st.header("グラフエリア") st.line_chart([10, 20, 15, 25, 30])
with tab2: st.header("データエリア") st.write("ここに表などを表示します") st.table({"名前": ["A", "B"], "値": [100, 200]})
with tab3: st.header("詳細情報") st.info("タブを使うと情報をコンパクトにまとめられます。")エキスパンダー (Expander)
Section titled “エキスパンダー (Expander)”「詳細はクリックして表示」のような折りたたみ機能です。 長すぎる説明文や、デバッグ情報を隠しておくのによく使われます。
import streamlit as st
st.title("折りたたみ表示 (Expander)")
st.write("クリックすると開くエリアを作れます。ヘルプや補足情報に便利です。")
with st.expander("詳しい解説を見る"): st.write("ここは普段は隠れています。") st.write("ユーザーが見たい時だけ開くことができます。") st.image("https://placehold.co/600x200/png", caption="隠し画像")
st.write("↑ 上のバーをクリックしてみてください。")