with st.sidebar:
st.markdown('# 사이드바 제목')
st.markdown('사이드바 내용 작성')
탭
tab1, tab2 = st.tabs(["고양이", "강아지"])
with tab1:
st.header("고양이")
st.image("https://static.streamlit.io/examples/cat.jpg", width=200)
with tab2:
st.header("강아지")
화면 분할
left_column, right_column = st.columns(2) # 좌우 2개 컬럼으로with left_column: # 왼쪽 컬럼에 들어갈 내용
st.markdown('왼쪽')
with right_column: # 오른쪽 컬럼에 들어갈 내용
st.markdown('오른쪽')
페이지
대시보드를 여러 개의 페이지로 나눌 수 있음
페이지 별로 별개의 파일 또는 함수로 구현
page_1.py:
import streamlit as st
st.title("Page 1")
main.py:
import streamlit as st
defpage_2():
st.title("Page 2")
pg = st.navigation(["page_1.py", page_2])
pg.run()
인터랙션
사용자의 입력에 따라 다른 결과를 제시
model = st.selectbox('차종', options=['전체', 'Avante', 'K3'])
if model == '전체':
st.write('## 전체 차종의 가격 분포')
ax = sns.boxplot(y='price', data=df)
else:
st.write(f'## {model} 차종의 가격 분포')
ax = sns.boxplot(y='price', data=df[df['model'] == model])
st.write(ax.figure) # 차트의 그림(figure)