Streamlit 및 Plotly를 사용하는 막대 차트 웹 앱

3790 단어

나는 이 작지만 의도적인 나의 성취를 축하해야 한다 ᄏᄏᄏ.



Stream lit과 함께 일하기까지의 여정은 매우 거칠었지만 흥미진진했습니다.



몇 번의 시도 끝에 어떻게 작동하는지 이해할 수 없었습니다. 마침내 해냈다고 말하게 되어 기쁩니다.



저는 이제 Stream lit과 Plotly를 아주 좋아합니다.



Streamlit과 Plotly를 사용하여 간단한 바 채팅 웹 앱을 만들었습니다.



간단한 프로젝트를 공유하는 이유는 Streamlit을 사용하여 웹 앱을 구축하는 데 어려움을 겪는 모든 사람을 돕기 위해서입니다.



Stream lit을 사용하여 간단한 바 채팅을 마침내 이해하고 구축할 수 있게 되기까지 매우 오랜 시간이 걸렸습니다.



그리고 현재 Stream lit을 사용하여 데이터 과학 프로젝트를 구축하는 데 어려움을 겪고 있는 저와 같은 다른 사람들이 몇 명 있다는 것을 알고 있습니다.



내 앱을 Heroku에 배포하는 작업은 아직 진행 중이지만 Heroku 팀은 이메일을 통해 나를 안내하여 매우 도움이 되었습니다.



Streamlit 및 Plotly를 사용하여 처음으로 간단한 막대 차트를 만든 방법은 다음과 같습니다.



Streamlit Documentation

Plotly Graph Guides

1 단계:

저는 이 프로젝트의 IDE로 Pycharm을 사용했습니다.



라이브러리 프레임 워크로 Streamlit, Plotly, Numpy 및 Pandas를 설치했습니다.



Kaggle에서 슈퍼마켓 판매 데이터 세트를 다운로드했습니다.




import streamlit as st
import pandas as pd
import plotly.express as px

st.title('Streamlit')
st.subheader('An App By Pink Data Hub')

st.markdown("""
This Web app will help you analyze the following;
* Your top 10 selling products
* Your Total Profits For Each Month and Year
* Your top 10 best buying Customers and their locations
""")

sales_data = pd.read_csv('supermarket_sales.csv')
st.write(sales_data.head())

select_branch=st.selectbox('What Branch would you like to visualize?',
                             ['A','B','C'])

select_xaxis = st.selectbox('What variable do you want on the X axis',
                            ['Customer type','Gender',
                             'Date','Payment','Rating'])

select_yaxis = st.selectbox('What variable do you want on the Y axis',
                            ['Unit price','Quantity','Tax5%','Total',
                             'cogs','gross margin percentage','gross income'])


select_product = st.selectbox('What product do you want to visualize?',
                              ['Food and beverages','Fashion accessories',
                               'Electronic accessories','Sports and travel',
                               'Home and lifestyle','Health and beauty'])
sales_data = pd.read_csv('supermarket_sales.csv')
sales_data = sales_data[sales_data['Branch'] == select_branch]
sales_data = sales_data[sales_data['Product line'] == select_product]
sales_data = sales_data.groupby(sales_data[select_xaxis])[select_yaxis].sum().head(10).reset_index()

fig = px.bar(x=sales_data[select_xaxis], y=sales_data[select_yaxis])
st.plotly_chart(fig, use_container_width=True)




2 단계:

Streamlit 클라우드를 사용하여 내 앱을 배포했습니다.



내 앱을 배포하기 위해 프로젝트 파일을 GitHub에 업로드했습니다. 자세히 보기..



Requirements.txt 파일을 만들었습니다. 요구 사항 파일에는 프로젝트에 사용한 모든 라이브러리가 포함되어 있습니다.




streamlit==0.86.0
streamlit-folium
pandas<1.2.0
plotly==5.2.1
dash
numpy==1.21.2
pillow
plotly-express


3단계:

내 앱을 Streamlit 클라우드에 배포했습니다.



다음은 내 앱에 대한 링크입니다. My Streamlit 앱



이것은 저에게 시작에 불과합니다. 앞으로도 더 놀라운 데이터 앱을 개발하여 모두 Heroku에 배포할 것입니다.



저와 함께 이 여행을 시작해주셔서 감사합니다

좋은 웹페이지 즐겨찾기