EmpezarEmpieza gratis

Añadir logos y notas

Aunque una imagen (¡o un gráfico!) vale más que mil palabras, a veces un panel necesita notas más explicativas. Por suerte, has estado practicando cómo añadir y formatear texto, así como imágenes y más estructura en tus apps de Dash.

Vamos a crear un panel que incluya el logotipo de la empresa, un único gráfico y unas breves notas explicativas.

Este ejercicio forma parte del curso

Creación de paneles con Dash y Plotly

Ver curso

Instrucciones del ejercicio

  • Añade el logotipo de la empresa usando la URL logo_link debajo de la línea 13.
  • Después del texto proporcionado en la línea 20, añade la variable top_country en negrita.
  • Debajo de la línea 24, añade el aviso de copyright de la empresa ' Copyright E-Com INC' en cursiva.

ejercicio interactivo práctico

Prueba este ejercicio completando este código de ejemplo.

from dash import Dash, dcc, html
import plotly.express as px
import pandas as pd
ecom_sales = pd.read_csv('/usr/local/share/datasets/ecom_sales.csv')
logo_link = 'https://assets.datacamp.com/production/repositories/5893/datasets/2bac9433b0e904735feefa26ca913fba187c0d55/e_com_logo.png'
ecom_bar = ecom_sales.groupby('Country')['OrderValue'].agg('sum').reset_index(name='Total Sales ($)').sort_values(by='Total Sales ($)', ascending=False)
top_country = ecom_bar.loc[0]['Country']            
bar_fig_country = px.bar(ecom_bar, x='Total Sales ($)', y='Country', color='Country', color_discrete_map={'United Kingdom':'lightblue', 'Germany':'orange', 'France':'darkblue', 'Australia':'green', 'Hong Kong':'red'})         
    
app = Dash()

app.layout = [
  # Add the company logo
  html.____(src=____),
  html.H1('Sales by Country'),
  dcc.Graph(
    figure=bar_fig_country,
    style={'width':'750px', 'margin':'auto'}),
  html.Span(children=[
    # Add the top country text
    'This year, the most sales came from: ', 
    html.____(____),
    html.Br(),
    # Italicize copyright notice
    html.____(' Copyright E-Com INC')])
    ]

if __name__ == '__main__':
    app.run(debug=True)
Editar y ejecutar código