Aan de slagBegin gratis

Een conceptverkoopdashboard

Gezien je sterke werk tot nu toe met het e-commercebedrijf, hebben ze je gevraagd te helpen hun bestaande dashboards volledig te vervangen. Die vereisen propriëtaire software en kosten de organisatie elke maand een berg geld.

Dit wordt niet het eindproduct; ze willen een ruwe schets van wat mogelijk is met Dash. Ze willen een lijndiagram van hun totale verkoop per maand en een staafdiagram van hun totale verkoop per land. Het is ook handig om een samenvattende statistiek op hoog niveau toe te voegen, zoals welke maand het grootste ordervolume had.

Je taak is om snel een dashboard te maken met Plotly-plots die op elkaar gestapeld zijn.

Deze oefening maakt deel uit van de cursus

Dashboards bouwen met Dash en Plotly

Bekijk cursus

Oefeninstructies

  • Zet een Dash-layout op in regel 14.
  • Voeg de variabele line_fig toe in regel 17.
  • Voeg de variabele bar_fig toe in regel 19.
  • Voeg een .H3()-titel toe die de max_country toont (het land met de hoogste totale verkoop).

Interactieve oefening met praktijkervaring

Probeer deze oefening door deze voorbeeldcode aan te vullen.

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)
Code bewerken en uitvoeren