Interaktiva komponenter

Bygg dashboards med Dash och Plotly

Alex Scriven

Data Scientist

Förbättrad interaktivitet

 

  • Några användbara interaktiva komponenter:
    • dcc.Checklist() = Kryssrutor
    • dcc.RadioItems() = Radioknappar
    • dcc.Slider() / dcc.RangeSlider() = Skjutreglage
    • dcc.DatePickerSingle() / dcc.DatePickerRange() = Liknande skjutreglage men för datum
Bygg dashboards med Dash och Plotly

Skjutreglage

 

 

  • Slider: dra och välj ett enskilt värde

 

 

  • Range Slider: dra och välj två värden
  • Tips: Kan kopplas till callback
    • Uppdaterar diagram eller komponenter

 

Ett skjutreglage:

En gif av ett blått skjutreglage mot svart bakgrund med text nedanför som visar det valda värdet. Musen tar reglagets markör och drar den uppåt några steg, vilket gör att värdet nedan ökar.

Ett intervallreglage:

En gif av ett blått intervallreglage mot svart bakgrund med text nedanför som visar de två valda värdena. Musen tar varje sida av reglagets markör och drar dem upp och ned några steg, vilket gör att värdena nedan ändras.

Bygg dashboards med Dash och Plotly

Skjutreglage i Dash

 

dcc.Slider(

min=10, max=50,
value=45,
step=5,
vertical=False
)

 

Viktiga argument:

  • min/max : Reglagets gränsvärden
  • value : Startval
  • step : Stegstorlek per markör
  • vertical : Horisontellt eller vertikalt läge
Bygg dashboards med Dash och Plotly

Datumväljare i Dash

DatePickerSingle: Välj ett enskilt datum

dcc.DatePickerSingle(
  date=date(2025, 7, 1),
  initial_visible_month=datetime.now(),
)
  • date = startval
  • initial_visible_month = månad som visas i popup
  • Begränsa valfritt med min_date_allowed och max_date_allowed

En gif av ett vanligt datumväljarexempel. Det finns ett datuminmatningsfält med den 1 juli 2025 som aktuellt datum. Musen klickar på det och en kalender visas. Ett annat datum väljs, 2 juli 2025, och den utfällda kalendern stängs medan det valda datumet i fältet har ändrats.

Bygg dashboards med Dash och Plotly

Datumintervallväljare

 

  • Liknar DatePickerSingle
    dcc.DatePickerRange(
    initial_visible_month=datetime.now(),
    start_date=date(2025, 7, 1),
    end_date=date(2025, 7, 16),
    )
    
  • Ange start_date och end_date som startvärden

 

En gif av ett vanligt datumväljarexempel. Det finns två datuminmatningsfält med datum i juli 2025 valda. Musen klickar på det andra fältet och en kalender visas, där alla dagar i intervallet redan är markerade i grönt. Sedan väljs ett nytt intervall som ändrar datumen.

Bygg dashboards med Dash och Plotly

Uppdatera diagram

 

# dcc.DatePickerSingle(id='sale_date')
# dcc.Graph(id='sales_cat')

@callback( Output(component_id='sales_cat', component_property='figure'), Input(component_id='sale_date', component_property='date'))
def update_plot(input_date): sales = ecom_sales.copy(deep=True)
if input_date: sales = sales[sales['InvoiceDate'] == input_date]
# Create fig return fig

 

En gif av en datumväljare i Dash. Till vänster finns en ruta med titeln "Controls" som innehåller en datumväljare med titeln "Sale Date Select". Datumväljaren visar datumet 04/11/2011. Till höger om rutan visas ett stapeldiagram med "Total Sales ($)" på x-axeln och "Major Category" på y-axeln. Under diagrammet finns titeln "Daily Sales by Major Category" och diagrammets egen titel är "Sales on 2011-04-11". Musen klickar i datumväljaren och väljer nästa dag, den 11 april 2011. Detta gör att stapeldiagrammet uppdateras med nya kolumner och storlekar, och diagrammets titel ändras för att återspegla det nya datumet.

Bygg dashboards med Dash och Plotly

Nu kör vi en övning!

Bygg dashboards med Dash och Plotly

Preparing Video For Download...