Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

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òng 17.
  • Thêm biến bar_fig ở dòng 19.
  • 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)
Chỉnh sửa và Chạy Mã