Streamlit独自に用意されているグラフ
折れ線グラフ line_chart
棒グラフ bar_chart
面グラフ area_chart
何れも第1引数にDataFrameを指定できます
import numpy as np
import pandas as pd
import streamlit as st
@st.cache
def sample():
return pd.DataFrame(np.random.randint(0, 10, (6, 3)), columns=["A", "B", "C"])
df = sample()
# グラフのコマンドを値とする辞書
dc = {"line": st.line_chart, "bar": st.bar_chart, "area": st.area_chart}
kind = st.selectbox("Kind", list(dc)) # 選択ボックス
dc[kind](df) # グラフ出力
if st.checkbox("DataFrame"):
st.dataframe(df.T)
対応する可視化ライブラリー
Streamlitは、下記の可視化ライブラリーのグラフを出力できます。
- matplotlib(
st.pyplot
) - Altair(
st.altair_chart
) - Vega-Lite(
st.vega_lite_chart
) - Plotly(
st.plotly_chart
) - Bokeh(
st.bokeh_chart
) - PyDeck(
st.pydeck_chart
) - graphviz(
st.graphviz_chart
)
選択をサイドバーにするには
import numpy as np
import pandas as pd
import streamlit as st
@st.cache
def sample():
return pd.DataFrame(np.random.randint(0, 10, (6, 3)), columns=["A", "B", "C"])
df = sample()
# グラフのコマンドを値とする辞書
dc = {"line": st.line_chart, "bar": st.bar_chart, "area": st.area_chart}
kind = st.sidebar.selectbox("Kind", list(dc))
dc[kind](df) # グラフ出力
if st.checkbox("DataFrame"):
st.dataframe(df.T)
開始位置をずらす
import numpy as np
import pandas as pd
import streamlit as st
@st.cache
def sample():
return pd.DataFrame(np.random.randint(0, 10, (6, 3)), columns=["A", "B", "C"])
df = sample()
# グラフのコマンドを値とする辞書
dc = {"line": st.line_chart, "bar": st.bar_chart, "area": st.area_chart}
kind = st.sidebar.selectbox("Kind", list(dc)) # 選択ボックス
sl = st.sidebar.slider("lower", 0, 4)
dc[kind](df[sl:]) # グラフ出力
if st.checkbox("DataFrame"):
st.dataframe(df[sl:].T)
button | checkbox | radio | selectbox | multiselect |
---|---|---|---|---|
slider | select_slider | text_input | number_input | text_area |
date_input | time_input | file_uploader | color_picker |
コメント