сервер боке не будет обслуживать простой финик - PullRequest
0 голосов
/ 25 февраля 2019

Следующий код должен определять приложение bokeh, которое состоит из одного указателя даты.Если я сохраню его в формате html (serve=False), он будет работать как положено, но сервер bokeh вернет пустую страницу.Любые подсказки?

s = datetime.strptime('2019-01-01 14:00:00', '%Y-%m-%d %H:%M:%S')
e = datetime.strptime('2019-01-01 15:00:00', '%Y-%m-%d %H:%M:%S')
v = datetime.strptime('2019-01-01 14:01:00', '%Y-%m-%d %H:%M:%S')
st = timedelta(seconds=7)
slider = DateSlider(start=s, step=2, end=e, value=e, format='%Y-%m-%d %H:%M')
mylayout = column(children=[slider])

if serve:
    curdoc().add_root(mylayout)

else:
    fname = os.path.join(...)
    output_file(fname)
    save(mylayout)

Дополнительные вопросы:

  1. определяет ли строка формата наименьшую единицу, которая изменяется при смене слайдера?(например, если я показываю секунды, это будут секунды, если я показываю месяцы, то это будут месяцы)
  2. что делает step в этом случае?Кажется, не имеет значения, какое значение я выбираю, поведение такое же, оно просто плавно скользит.
  3. Почему шаг должен быть целым?Я ожидал здесь значение timedelta.

1 Ответ

0 голосов
/ 25 февраля 2019

Все значения даты и времени в искусстве боке, как правило, в миллисекундах, например, значения оси даты и времени равны миллисекундам с начала эпохи.То же самое в этом случае для интервалов, например, здесь с шагом 5 минут:

from bokeh.models import DateSlider
from bokeh.io import curdoc
from bokeh.layouts import column
from datetime import datetime, timedelta

s = datetime.strptime('2019-01-01 14:00:00', '%Y-%m-%d %H:%M:%S')
e = datetime.strptime('2019-01-01 15:00:00', '%Y-%m-%d %H:%M:%S')
v = datetime.strptime('2019-01-01 14:01:00', '%Y-%m-%d %H:%M:%S')
st = timedelta(seconds=7)
slider = DateSlider(start=s, step=1000*60*5, end=e, value=e, format='%Y-%m-%d %H:%M')
mylayout = column(children=[slider])

curdoc().add_root(mylayout)

Наличие step accept timedelta кажется разумным.Bokeh - огромный проект, и многие приятные удобства не реализованы просто потому, что никто никогда не указывал на них раньше.Это было бы неплохо сделать на GitHub, особенно если вы заинтересованы в содействии.

...