开始使用免费开始使用

销售仪表板草稿

鉴于您在这家电商公司的出色工作,他们希望您帮助他们彻底替换现有的仪表板。当前的仪表板依赖专有软件,每月让组织付出高昂成本。

这不是最终成品;他们想先看看使用 Dash 能实现的粗略样例。他们希望看到每月总销售额的折线图,以及各国家总销售额的柱状图。最好再加一个高层概览指标,比如哪个月份的订单量最大。

您的任务是使用 Plotly 图形上下堆叠,快速搭建一个简易仪表板。

本练习是课程的一部分

使用 Dash 和 Plotly 构建仪表板

查看课程

练习说明

  • 在第 14 行设置 Dash 布局。
  • 在第 17 行添加变量 line_fig
  • 在第 19 行添加变量 bar_fig
  • 添加一个 .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)
编辑并运行代码