Ett utkast till en säljdashboard
Tack vare ditt goda arbete hittills har e-handelsföretaget bett dig hjälpa dem att helt ersätta deras befintliga dashboards, som kräver proprietär programvara och kostar organisationen stora summor varje månad.
Detta kommer inte att vara den slutliga produkten – de vill ha ett utkast som visar vad som är möjligt med Dash. De önskar ett linjediagram över den totala försäljningen per månad och ett stapeldiagram över den totala försäljningen per land. Det vore också bra att inkludera en övergripande sammanfattningsstatistik, till exempel vilken månad som hade den högsta ordervolymen.
Din uppgift är att snabbt bygga en dashboard med Plotly-diagram staplade ovanpå varandra.
Den här övningen är en del av kursen
Bygg dashboards med Dash och Plotly
Övningsinstruktioner
- Sätt upp en Dash-layout på rad
14. - Lägg till variabeln
line_figpå rad17. - Lägg till variabeln
bar_figpå rad19. - Lägg till en
.H3()-titel som visarmax_country(det land som har den högsta totala försäljningen).
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
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)