Фильтр по дате и времени в боке - PullRequest
0 голосов
/ 23 марта 2020

Я могу получить фильтрацию для столбца даты и времени, работающего в Bokeh.

Следующий код / ​​график работает нормально:

# imports
import pandas as pd
from bokeh.io import output_notebook, show
from bokeh.plotting import figure
from bokeh.models import ColumnDataSource, CDSView, GroupFilter

# dataframe and columndatasource
df = pd.DataFrame({'Date': list(pd.date_range(start='1/1/2018', end='1/03/2018')) * 3,
                   'Value': list(range(1, 10))})

source = ColumnDataSource(df)

График:

p = figure()
p.line(x='Date', y='Value', source=source)
show(p)

Однако Я только хочу построить строки с датой 1/3/2018 без создания новой ColumnDataSource. Поэтому я использую GroupFilter и CDSView.

last_date = source.data['Date'].max() # select 1/3/2018
date_filter = GroupFilter(column_name='Date', group=str(last_date)) # create filter
view = CDSView(source=source, filters=[date_filter]) # create view

p = figure()
p.line(x='Date', y='Value', source=source, view=view) # use view
show(p)

Но на этом графике нет данных? Любые предложения, как фильтровать по столбцу Date?

1 Ответ

0 голосов
/ 24 марта 2020

Вы столкнулись с этой проблемой: https://github.com/bokeh/bokeh/issues/7524 Сейчас GroupFilter работает только со строками.

Обходной путь - создать любой другой вид фильтра и отфильтровать значения. сами.

...