steamlitのグラフの種類

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)
buttoncheckboxradioselectboxmultiselect
sliderselect_slidertext_inputnumber_inputtext_area
date_inputtime_inputfile_uploadercolor_picker

コメント

タイトルとURLをコピーしました