Bản nháp bảng điều khiển doanh số
Với kết quả bạn đã làm rất tốt cho công ty e-commerce, họ đã nhờ bạn giúp thay thế hoàn toàn các bảng điều khiển hiện tại, vốn yêu cầu phần mềm độc quyền và đang tiêu tốn của tổ chức một khoản tiền khổng lồ mỗi tháng.
Đây sẽ không phải là sản phẩm cuối cùng; họ muốn một bản nháp thô về những gì có thể làm với Dash. Họ muốn một biểu đồ đường thể hiện tổng doanh số theo từng tháng và một biểu đồ cột thể hiện tổng doanh số theo từng quốc gia. Sẽ rất hữu ích nếu có thêm một thống kê tóm tắt cấp cao, chẳng hạn tháng nào có khối lượng đơn hàng lớn nhất.
Nhiệm vụ của bạn là tạo một bảng điều khiển nhanh bằng cách xếp chồng các biểu đồ Plotly lên nhau.
Bài tập này là một phần của khóa học
Xây dựng Dashboard với Dash và Plotly
Hướng dẫn bài tập
- Thiết lập bố cục Dash ở dòng
14. - Thêm biến
line_figở dòng17. - Thêm biến
bar_figở dòng19. - Thêm tiêu đề
.H3()hiển thịmax_country(quốc gia có tổng doanh số cao nhất).
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
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)