Wstępny dashboard sprzedażowy
Twoja dotychczasowa praca zrobiła świetne wrażenie na firmie e-commerce i teraz proszą cię o pomoc w całkowitym zastąpieniu ich obecnych dashboardów. Dotychczasowe rozwiązania wymagają drogiego, zastrzeżonego oprogramowania, które co miesiąc kosztuje organizację ogromne sumy.
To nie będzie jeszcze finalny produkt – firma chce jedynie wstępny szkic tego, co można osiągnąć przy użyciu Dash. Zależy im na wykresie liniowym pokazującym łączną sprzedaż w każdym miesiącu oraz wykresie słupkowym przedstawiającym łączną sprzedaż w poszczególnych krajach. Warto też dodać statystykę podsumowującą na wysokim poziomie – na przykład informację o tym, który miesiąc miał największy wolumen zamówień.
Twoim zadaniem jest szybkie zbudowanie dashboardu z wykresami Plotly ułożonymi jeden pod drugim.
To ćwiczenie jest częścią kursu
Tworzenie dashboardów z Dash i Plotly
Instrukcje do ćwiczenia
- Skonfiguruj układ Dash w linii
14. - Dodaj zmienną
line_figw linii17. - Dodaj zmienną
bar_figw linii19. - Dodaj tytuł
.H3()pokazującymax_country(kraj z najwyższą łączną sprzedażą).
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
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)