초안 매출 대시보드
지금까지 전자상거래 회사에서 훌륭한 성과를 내신 덕분에, 기존 대시보드를 완전히 교체하는 데 도움을 요청받았어요. 기존 도구는 상용 소프트웨어가 필요하고 매달 막대한 비용이 들고 있습니다.
이번에 만드는 것은 최종본이 아니라 Dash로 어떤 구성이 가능한지 보여주는 초안입니다. 매달 총매출의 추이를 보여주는 선형 차트와 국가별 총매출을 보여주는 막대 차트를 원합니다. 또한 주문량이 가장 많았던 달처럼 상위 수준 요약 통계도 함께 보여주면 좋습니다.
여러 개의 Plotly 플롯을 위아래로 쌓아 빠르게 대시보드를 만들어 보세요.
이 연습은 강의의 일부입니다
Dash와 Plotly로 대시보드 만들기
연습 안내
- 14번째 줄에 Dash 레이아웃을 설정하세요.
- 17번째 줄에
line_fig변수를 추가하세요. - 19번째 줄에
bar_fig변수를 추가하세요. - 총매출이 가장 높은 국가인
max_country를 보여주는.H3()제목을 추가하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
from dash import Dash, dcc, html
import pandas as pd
import plotly.express as px
ecom_sales = pd.read_csv('/usr/local/share/datasets/ecom_sales.csv')
ecom_line = ecom_sales.groupby('Year-Month')['OrderValue'].agg('sum').reset_index(name='Total Sales ($)')
line_fig = px.line(data_frame=ecom_line, x='Year-Month', y='Total Sales ($)', title='Total Sales by Month')
ecom_bar = ecom_sales.groupby('Country')['OrderValue'].agg('sum').reset_index(name='Total Sales ($)')
max_country = ecom_bar.sort_values(by='Total Sales ($)', ascending=False).loc[0]['Country']
bar_fig = px.bar(data_frame=ecom_bar, x='Total Sales ($)', y='Country', orientation='h', title='Total Sales by Country')
app = Dash()
# Set up the layout
app.____ = [
html.H1('Sales Figures'),
# Add the line figure
dcc.___(id='my-line-fig', figure=____),
# Add the bar figure
dcc.___(id='my-bar-fig', figure=____),
# Add the H3 title
html.____(f'The largest country by sales was {____}!')
]
if __name__ == '__main__':
app.run(debug=True)