DatetimeRangeSlider#
Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).
import datetime as dt
import panel as pn
pn.extension()
The DateRangeSlider
widget allows selecting a date range using a slider with two handles.
Discover more on using widgets to add interactivity to your applications in the how-to guides on interactivity. Alternatively, learn how to set up callbacks and (JS-)links between parameters or how to use them as part of declarative UIs with Param.
Parameters:#
For details on other options for customizing the component see the layout and styling how-to guides.
Core#
start
(datetime): The range’s lower boundend
(datetime): The range’s upper boundstep
(int): Step in milliseconds, default is 1 minute (60.000 ms)value
(tuple): Tuple of upper and lower bounds of the selected range expressed as datetime typesvalue_throttled
(tuple): Tuple of upper and lower bounds of the selected range expressed as datetime types throttled until mouseup
Display#
bar_color
(color): Color of the slider bar as a hexadecimal RGB valuedirection
(str): Whether the slider should go from left to right (‘ltr’) or right to left (‘rtl’)disabled
(boolean): Whether the widget is editableformat
(str): Formatter to apply to the slider valuename
(str): The title of the widgetorientation
(str): Whether the slider should be displayed in a ‘horizontal’ or ‘vertical’ orientation.tooltips
(boolean): Whether to display tooltips on the slider handle
The slider start and end can be adjusted by dragging the handles and whole range can be shifted by dragging the selected range.
datetime_range_slider = pn.widgets.DatetimeRangeSlider(
name='Datetime Range Slider',
start=dt.datetime(2017, 1, 1), end=dt.datetime(2019, 1, 1),
value=(dt.datetime(2017, 1, 1), dt.datetime(2018, 1, 10)),
step=10000
)
datetime_range_slider
DatetimeRangeSlider.value
returns a tuple of datetime values that can be read out and set like other widgets:
datetime_range_slider.value
A custom format string may be used to format the slider values:
str_format = pn.widgets.DatetimeRangeSlider(
name='Datetime Range Slider',
start=dt.datetime(2017, 1, 1), end=dt.datetime(2019, 1, 1),
value=(dt.datetime(2017, 1, 1), dt.datetime(2018, 1, 10)),
step=10000,
format='%Y-%m-%dT%H:%M:%S'
)
str_format
Controls#
The DatetimeRangeSlider
widget exposes a number of options which can be changed from both Python and Javascript. Try out the effect of these parameters interactively:
pn.Row(datetime_range_slider.controls(jslink=True), datetime_range_slider)
Open this notebook in Jupyterlite | Download this notebook from GitHub (right-click to download).