Building Dashboards with Dash and Plotly
Alex Scriven
Data Scientist
dcc.Checklist() = Checkboxesdcc.RadioItems() = Radio buttonsdcc.Slider() / dcc.RangeSlider() = Slider selectorsdcc.DatePickerSingle() / dcc.DatePickerRange() = Similar to sliders but for dates
A slider:

A range slider:

dcc.Slider(min=10, max=50,value=45,step=5,vertical=False)
Key arguments:
min/max : Bounds of slidervalue : Starting selectionstep : Increment for each notchvertical : To make horizontal or verticalDatePickerSingle: Select a single date
dcc.DatePickerSingle(
date=date(2025, 7, 1),
initial_visible_month=datetime.now(),
)
date = starting selectioninitial_visible_month = month shown in popupmin_date_allowed and max_date_allowed
DatePickerSingledcc.DatePickerRange(
initial_visible_month=datetime.now(),
start_date=date(2025, 7, 1),
end_date=date(2025, 7, 16),
)
start_date and end_date

# 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

Building Dashboards with Dash and Plotly