ComeçarComece de graça

Um rascunho de dashboard de vendas

Dado o seu ótimo trabalho até agora com a empresa de e-commerce, eles pediram sua ajuda para substituir completamente os dashboards existentes, que exigem software proprietário e estão custando uma fortuna à organização todos os meses.

Este não será o produto final; eles querem um rascunho do que é possível usando Dash. Eles gostariam de um gráfico de linha das vendas totais por mês e um gráfico de barras das vendas totais por país. Também seria bom incluir uma estatística de alto nível, como o mês com o maior volume de pedidos.

Sua tarefa é criar um dashboard rápido usando gráficos do Plotly empilhados um sobre o outro.

Este exercício faz parte do curso

Construindo Dashboards com Dash e Plotly

Ver curso

Instruções do exercício

  • Configure um layout do Dash na linha 14.
  • Adicione a variável line_fig na linha 17.
  • Adicione a variável bar_fig na linha 19.
  • Adicione um título .H3() mostrando o max_country (o país com o maior total de vendas).

Exercício interativo prático

Experimente este exercício completando este código de exemplo.

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)
Editar e executar o código