웹대시보드 개발
웹대시보드 개발(6) 스트림릿의 다양한 UI 함수(3)
개발연습자1
2022. 12. 13. 11:19
스트림릿에서 웹브라우저로 화면을 띄우는 방법을 알았지만 화면에 '버튼'이 없기 때문에 여러가지 버튼을 생성하는 함수들을 알아보겠다.
1) 기본 버튼
기본 버튼은 버튼을 클릭만하면 결과가 나오겠끔 하는 함수이다.
import streamlit as st
#버튼을 클릭하면, 데이터프레임이 보이도록 만들기
name = 'Mike'
#이름인 Mike를 버튼을 통해 대소문자로 표현
if st.button('대문자로') :
st.text(name.upper())
if st.button('소문자로') :
st.text(name.lower())
if __name__ == '__main__' :
main()
대문자,소문자 버튼이 눌리면 사람 이름이 대문자,소문자로 바뀌게 된다.
2) 셀럭트 박스
여러개 선택지 중에 하나를 선택하는 버튼이다.
import streamlit as st
def main():
# 셀렉트 박스:여러개 중에 한개 선택
language = ['Python','c','JAVA','PHP','GO']
my_choice = st.selectbox('좋아하는 언어를 선택하세요',language)
# 유저가 선택하면, 해당 언어를 다음처럼 표시해준다.
# 저는 Python 언어를 가장 좋아합니다.
# 저는 JAVA 언어를 가장 좋아합니다.
st.write('저는 {} 언어를 가장 좋아합니다.'.format(my_choice))
st.text('저는'+my_choice+'언어를 가장 좋아합니다.')
if __name__ == '__main__' :
main()
이렇게 선택하여 결과를 알수가 있다.
3) 체크 박스
기본 버튼과 마찬가지로 누르면 실행되지만 이 체크 박스는 화면을 숨기거나 표시할때 사용된다
#판다스의 데이터프레임을, 웹화면으로 보여주는 방법
import streamlit as st
import pandas as pd
def main():
st.title('아이리스 꽃 데이터')
df=pd.read_csv('streamlit_data/iris.csv')
if st.checkbox('show/hide') :
st.dataframe(df)
if __name__ == '__main__' :
main()
4) 라디오 버튼
체크박스와 동일하나 화면 표시를 어떻게 할것인지 상태를 설정할때 사용된다.
#판다스의 데이터프레임을, 웹화면으로 보여주는 방법
import streamlit as st
import pandas as pd
def main():
st.title('아이리스 꽃 데이터')
df=pd.read_csv('streamlit_data/iris.csv')
status =st.radio('정렬을 선택하세요',['오름차순정렬','내림차순정렬'])
if status == '오름차순정렬' :
# df의 petal_length 컬럼을 오름차순으로 정렬해서 보여주세요.
st.dataframe(df.sort_values('petal_length'))
elif status == '내림차순정렬':
# df의 petal_length 컬럼을 내림차순으로 정렬해서 보여주세요.
st.dataframe(df.sort_values('petal_length',ascending=False))
if __name__ == '__main__' :
main()
5) 셀렉트 박스
여러개의 선택지 중에 1개를 선택하게 해주는 버튼이다.
#판다스의 데이터프레임을, 웹화면으로 보여주는 방법
import streamlit as st
import pandas as pd
def main():
language = ['Python','c','JAVA','PHP','GO']
my_choice = st.selectbox('좋아하는 언어를 선택하세요',language)
# 유저가 선택하면, 해당 언어를 다음처럼 표시해준다.
# 저는 Python 언어를 가장 좋아합니다.
# 저는 JAVA 언어를 가장 좋아합니다.
st.write('저는 {} 언어를 가장 좋아합니다.'.format(my_choice))
st.text('저는'+my_choice+'언어를 가장 좋아합니다.')
if __name__ == '__main__' :
main()
6) 멀티 셀렉트
멀티 셀렉트는 주어진 선택지를 여러개 선택할수 있는 함수이다.
#판다스의 데이터프레임을, 웹화면으로 보여주는 방법
import streamlit as st
import pandas as pd
def main():
st.title('아이리스 꽃 데이터')
df=pd.read_csv('streamlit_data/iris.csv')
selected_list=st.multiselect('원하는 컬럼을 선택하세요',df.columns)
if __name__ == '__main__' :
main()
7) 슬라이더
슬라이더로 각종 파라미터를 조절할 수 있다.
#판다스의 데이터프레임을, 웹화면으로 보여주는 방법
import streamlit as st
import pandas as pd
def main():
age = st.slider('나이',1,100)
st.text('당신이 선택한 나이는'+str(age)+'입니다.')
st.slider('데이터',0.0,1.0,step=0.1)
with st.expander('hello'):
st.text('안녕하세요')
if __name__ == '__main__' :
main()
반응형