Ébauche d'un tableau de bord des ventes
Vu l'excellent travail que vous avez accompli avec l'entreprise de commerce électronique, on vous demande maintenant d'aider à remplacer complètement leurs tableaux de bord actuels, qui nécessitent des logiciels propriétaires et coûtent une fortune à l'organisation chaque mois.
Ce ne sera pas le produit final; ils veulent plutôt une ébauche de ce qu'il est possible de faire avec Dash. Ils souhaitent un graphique linéaire de leurs ventes totales par mois et un diagramme à barres de leurs ventes totales par pays. Il serait aussi utile d'ajouter une statistique sommaire de haut niveau, par exemple le mois ayant eu le plus grand volume de commandes.
Votre tâche est de créer rapidement un tableau de bord en empilant des graphiques Plotly les uns sous les autres.
Cette activité fait partie du cours
Créer des tableaux de bord avec Dash et Plotly
Instructions de l’exercice
- Configurez une mise en page Dash à la ligne
14. - Ajoutez la variable
line_figà la ligne17. - Ajoutez la variable
bar_figà la ligne19. - Ajoutez un titre
.H3()affichant lemax_country(le pays avec les ventes totales les plus élevées).
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
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)