from altair.vegalite.v4.schema.channels import Color
import streamlit as st
import numpy as np
import pandas as pd
import altair as alt
import plotly.express as px
def main() :
df1 = pd.read_csv('data/lang_data.csv')
st.dataframe(df1)
print(df1.columns[1:])
lang_list = df1.columns[1:]
choice_list = st.multiselect('언어를 선택하세요', lang_list)
print(choice_list)
if len(choice_list) != 0 :
# 유저가 선택한 언어만, 차트를 그리려고 합니다.
df_selected = df1[choice_list]
# 스트림릿이 제공하는 라인차트
st.line_chart(df_selected)
# 스트림릿이 제공하는 영역차트
st.area_chart(df_selected)
df2 = pd.read_csv('data/iris.csv')
# 스트림릿이 제공하는 바차트
df2_selected = df2[['sepal_length', 'petal_length']]
st.bar_chart(df2_selected)

# Altair 이용! x축과 y축 설정 + color 또는 size로 차트를 풍성하게 표현
chart = alt.Chart(df2).mark_circle().encode(
x='petal_length',
y='petal_width',
color ='species'
)
st.altair_chart(chart)

# 스트림릿의 map차트
df3 = pd.read_csv('data/location.csv', index_col=0)
st.dataframe(df3)
st.map(data= df3)

# plotly를 이용한 차트
df4 = pd.read_csv('data/prog_languages_data.csv', index_col=0)
st.altair_chart(chart)
st.dataframe(df4)

# plotly의 pie차트
fig1 = px.pie(df4, 'lang', 'Sum', title='각 언어별 파이차트')
st.plotly_chart(fig1)

# plotly의 bar차트
df4_sorted = df4.sort_values('Sum', ascending=False)
fig2 = px.bar(df4_sorted, x='lang', y='Sum')
st.plotly_chart(fig2)

if __name__ == '__main__':
main()
반응형
'Streamlit' 카테고리의 다른 글
[st] (dashboard_car 실습 연습) + 인공지능 대시보드로 만들기 (0) | 2021.12.15 |
---|---|
[st] dashboard_car 실습 연습 (0) | 2021.12.15 |
[st] app11 : plt.figure, st.pyplot() 활용해서 차트 그려보기 (0) | 2021.12.14 |
[st] app10 : 파일 분리해서 다른 파일에 있는 함수를 사용하기. (0) | 2021.12.14 |
[st] app9 : 여러 파일을 업로드하는 함수, 조건문, 반복문 사용 (0) | 2021.12.14 |