EmpezarEmpieza gratis

Un borrador de panel de ventas

Gracias a tu gran trabajo hasta ahora con la empresa de e-commerce, te han pedido que les ayudes a sustituir por completo sus paneles actuales, que requieren software propietario y le cuestan a la organización una fortuna cada mes.

Este no será el producto final; quieren un primer borrador de lo que es posible con Dash. Les gustaría un gráfico de líneas con las ventas totales por mes y un gráfico de barras con las ventas totales por país. También estaría bien incluir una estadística de resumen de alto nivel, como el mes con mayor volumen de pedidos.

Tu tarea es crear un panel rápido usando gráficos de Plotly apilados uno encima de otro.

Este ejercicio forma parte del curso

Creación de paneles con Dash y Plotly

Ver curso

Instrucciones del ejercicio

  • Configura un layout de Dash en la línea 14.
  • Añade la variable line_fig en la línea 17.
  • Añade la variable bar_fig en la línea 19.
  • Añade un título .H3() mostrando max_country (el país con las ventas totales más altas).

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

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)
Editar y ejecutar código