Draf dasbor penjualan
Berkat kinerja Anda sejauh ini bersama perusahaan e-commerce, mereka meminta Anda membantu sepenuhnya mengganti dasbor yang ada, yang memerlukan perangkat lunak proprietari dan menghabiskan banyak biaya bagi organisasi setiap bulan.
Ini bukan produk final; mereka menginginkan draf kasar tentang apa yang mungkin dibuat dengan Dash. Mereka menginginkan grafik garis dari total penjualan setiap bulan dan grafik batang dari total penjualan di setiap negara. Akan lebih baik jika ditambahkan statistik ringkasan tingkat tinggi, seperti bulan dengan volume pesanan terbesar.
Tugas Anda adalah membuat dasbor cepat menggunakan plot Plotly yang ditumpuk satu sama lain.
Latihan ini merupakan bagian dari kursus
Membangun Dasbor dengan Dash dan Plotly
Instruksi latihan
- Siapkan tata letak Dash pada baris
14. - Tambahkan variabel
line_figpada baris17. - Tambahkan variabel
bar_figpada baris19. - Tambahkan judul
.H3()yang menampilkanmax_country(negara dengan total penjualan tertinggi).
Latihan interaktif langsung praktik
Cobalah latihan ini dengan melengkapi kode contoh ini.
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)