Streamlit
[Streamlit] 반응형 차트 만들기
eyoo
2022. 5. 20. 12:17
스트림릿에서 제공해주는 line_chart와 area_chart를 사용해서 언어의 사용 빈도수를 표현해보자
in:
lang_list = df1.columns[1:]
choice_list = st.multiselect('언어를 선택하세요',lang_list)
if len(choice_list)!=0:
df_choice = df1[choice_list]
st.line_chart(df_choice)
st.area_chart(df_choice)
out:
# 먼저 데이터프레임의 컬럼명들을 리스트로 만들었다.
# 그후, 멀티셀렉트를 사용해서 변수로 만들었다.
스트림릿이 제공하는 bar_chart도 있다.
in:
st.bar_chart(df2.iloc[:,0:-1])
out:
웹에서 사용할수있는 차트 라이브러리 중 Altair 차트를 사용하여 나타낸다.
in:
import altair as alt
alt_chart = alt.Chart(df2).mark_circle().encode(
x = 'petal_length',
y = 'petal_width',
color = 'species')
st.altair_chart(alt_chart)
out:
# altair차트의 경우 st.altair_chart를 사용하여 나타낼수 있다.
데이터프레임에 위도 경도가 있으면 map을 통해서 지도를 그릴수있다.
in:
st.map(df3)
out:

plotly 라이브러리를 이용하여 차트를 나타낼수있다.
# plotly가 설치 되지 않았을때는 프롬프트에 conda install -c plotly plotly=5.8.0 입력
plotly로 pie 차트를 그려보자
in:
fig1 = px.pie(df4,names='lang',values='Sum', title='각 언어별 파이차트')
st.plotly_chart(fig1)
out:
# plotly는 st.plotly_chart를 사용하여 나타낸다.
plotly의 bar 차트를 나타내자
in:
df4_sorted = df4.sort_values('Sum',ascending=False)
fig2 = px.bar(df4_sorted,x='lang',y='Sum')
st.plotly_chart(fig2)
out:
