เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

แดชบอร์ดยอดขายเบื้องต้น

จากผลงานที่ผ่านมา บริษัท e-commerce ได้ขอให้ช่วยแทนที่แดชบอร์ดเดิมของพวกเขาอย่างสมบูรณ์ ซึ่งแดชบอร์ดเดิมนั้นต้องใช้ซอฟต์แวร์เฉพาะทางและมีค่าใช้จ่ายสูงมากในแต่ละเดือน

นี่ยังไม่ใช่ผลิตภัณฑ์สุดท้าย พวกเขาต้องการดูแบบร่างคร่าว ๆ ของสิ่งที่เป็นไปได้ด้วย Dash โดยต้องการกราฟเส้นแสดงยอดขายรวมในแต่ละเดือน และกราฟแท่งแสดงยอดขายรวมในแต่ละประเทศ รวมถึงสถิติสรุประดับสูง เช่น เดือนใดมีปริมาณคำสั่งซื้อสูงสุด

ภารกิจนี้คือการสร้างแดชบอร์ดอย่างรวดเร็วโดยใช้กราฟ Plotly วางซ้อนกัน

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

การสร้างแดชบอร์ดด้วย Dash และ Plotly

ดูคอร์ส

คำแนะนำการฝึกหัด

  • กำหนด Dash layout ในบรรทัดที่ 14
  • เพิ่มตัวแปร line_fig ในบรรทัดที่ 17
  • เพิ่มตัวแปร bar_fig ในบรรทัดที่ 19
  • เพิ่มชื่อเรื่องด้วย .H3() ที่แสดง max_country (ประเทศที่มียอดขายรวมสูงสุด)

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

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)
แก้ไขและรันโค้ด