Как работает DateRangeSlider в боке?

Я пытался работать с датами в боке, но не мог найти способ, затем я наткнулся на DateRangeSlider в боке, но не знаю синтаксиса, как его инициализировать и использовать. Мне нужна помощь в работе DateRangeSlider в боке! Нужны примеры с кодом.


person Vamshi krishna Srirangam    schedule 17.07.2017    source источник


Ответы (3)


from datetime import date

from bokeh.models.widgets import DateRangeSlider
from bokeh.layouts import layout

from bokeh.io import curdoc

date_range_slider = DateRangeSlider(title="Date Range: ", start=date(2017, 1, 1), end=date.today(), value=(date(2017, 9, 7), date(2017, 10, 15)), step=1)


l = layout(children=[[date_range_slider]], sizing_mode='fixed')
curdoc().add_root(l)
curdoc().title = "DateRangeSlider Example"

Это должно создать ползунок диапазона дат с 1 января 2017 года по сегодняшний день (в данном случае 17 октября 2017 года).

Ниже приведены скриншоты этого примера:

Ползунок диапазона дат с выбранным диапазоном по умолчанию Ползунок диапазона дат с выбранным диапазоном по умолчанию

Ползунок диапазона дат с полным диапазоном Ползунок диапазона дат с полным диапазоном

По какой-то причине дата начала установлена ​​на 01.01.2016, хотя указано значение 01.01.2017. Когда я устанавливаю 2 января, год меняется на 2017. Думаю, это ошибка.

РЕДАКТИРОВАТЬ: Работает, как и ожидалось, в последней версии боке.

person Aarvi    schedule 17.10.2017
comment
Это была ошибка в старых версиях, теперь она исправлена. - person bigreddot; 17.10.2017

Нашел решение проблемы, умею разбираться с датами. Угадайте как? не с DateRangeSlider! У меня есть эти даты в виде строк в рамке даты pandas. например lookup = pd.read_csv("file.csv", sep=','). Я ввожу данные для дат "от" и "до" для поиска через. TextInput, затем я конвертирую все строки даты и входные строки в объекты «pandas.tslib.Timestamp», используя функцию to_datetime(), например lookup.Created_Date=pd.to_datetime(lookup['Created_Date']), где поиск — это мой фрейм данных pandas. Затем я могу сравнить и отобразить необходимые результаты: D.

person Vamshi krishna Srirangam    schedule 19.07.2017

В более новых версиях боке есть ползунок под названием DateSlider, который делает то, что вы хотите. В примере с @Aarvi это

date_slider = DateSlider(title="Date Range: ", start=date(2017, 1, 1), end=date.today(), value=date(2017, 9, 7), step=1)
person horseshoe    schedule 02.05.2019