Python/Matplotlib

PIE, BAR, LINE, AREA ์ฐจํŠธ๋ฅผ ์ŠคํŠธ๋ฆผ๋ฆฟ(streamlit)์— ํ‘œํ˜„ํ•˜๊ธฐ

567Rabbit 2024. 4. 26. 18:01
python
๋‹ซ๊ธฐ
#์ŠคํŠธ๋ฆผ๋ฆฟ์˜ ๋‚ด์žฅ ์ฐจํŠธ ํ•จ์ˆ˜์™€ ์œ ๋ช…ํ•œ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์ธ plotly ์ฐจํŠธ import streamlit as st import pandas as pd import matplotlib.pyplot as plt import plotly.express as px def main() : โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹#์ŠคํŠธ๋ฆผ๋ฆฟ์—์„œ ์ œ๊ณตํ•ด์ฃผ๋Š” ์ฐจํŠธ โ€‹โ€‹โ€‹โ€‹#line_chart, area_chart โ€‹โ€‹โ€‹โ€‹df1 = pd.read_csv('./data/lang_data.csv') โ€‹โ€‹โ€‹โ€‹print(df1) โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹print(df1.columns[ 1: ]) โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹column_list = df1.columns[ 1: ] โ€‹โ€‹โ€‹โ€‹choice_list = st.multiselect('์–ธ์–ด๋ฅผ ์„ ํƒํ•˜์„ธ์š”', column_list) โ€‹โ€‹โ€‹โ€‹print(choice_list) โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹if len(choice_list) != 0 : โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹df_choice = df1[choice_list] โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹st.dataframe(df_choice) โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹st.line_chart(df_choice) โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹โ€‹st.area_chart(df_choice) โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹df2 = pd.read_csv('./data/iris.csv') โ€‹โ€‹โ€‹โ€‹df_iris = df2.iloc[ : , 0:-2+1 ] โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹#์ŠคํŠธ๋ฆผ๋ฆฟ์ด ์ œ๊ณตํ•˜๋Š” bar_chart โ€‹โ€‹โ€‹โ€‹st.bar_chart(df_iris) โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹df3 = pd.read_csv('./data/location.csv') โ€‹โ€‹โ€‹โ€‹print(df3) โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹st.map(df3) โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹df4 = pd.read_csv('./data/prog_languages_data.csv', index_col=0) โ€‹โ€‹โ€‹โ€‹print(df4) โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹#plotly ์˜ pie ์ฐจํŠธ โ€‹โ€‹โ€‹โ€‹fig1 = px.pie(data_frame= df4, names='lang', values='Sum', title='๊ฐ ์–ธ์–ด๋ณ„ ํŒŒ์ด์ฐจํŠธ') โ€‹โ€‹โ€‹โ€‹st.plotly_chart(fig1) โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹#plotly ์˜ bar ์ฐจํŠธ โ€‹โ€‹โ€‹โ€‹print( df4.sort_values('Sum') ) โ€‹โ€‹โ€‹โ€‹df_sorted = df4.sort_values('Sum') โ€‹โ€‹โ€‹โ€‹fig2 = px.bar(data_frame=df_sorted, x='lang', y='Sum') โ€‹โ€‹โ€‹โ€‹st.plotly_chart(fig2) โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹df_sorted2 = df4.sort_values('Sum', ascending=False) โ€‹โ€‹โ€‹โ€‹ โ€‹โ€‹โ€‹โ€‹fig3 = px.bar(df_sorted2, x='lang', y='Sum') โ€‹โ€‹โ€‹โ€‹st.plotly_chart(fig3) โ€‹โ€‹โ€‹โ€‹ if __name__ == '__main__' : โ€‹โ€‹โ€‹โ€‹main()