Bokeh - Обновление функции для Slider - PullRequest
0 голосов
/ 15 ноября 2018

У меня возникла проблема с обновлением значений графика с помощью Bokeh.Select и Slider не меняют сюжет.Код должен отображать «бюджет» вместе с «voice_average» в разные годы.Слайдер предназначен для отображения данных (release_date) с 1970 по 2016 годы.Я работаю в блокноте Jupyter.Код ниже:

source = ColumnDataSource(data = {
   'x': movies.budget,
   'y': movies.vote_average,
   'revenue': movies.revenue,
   'profit': movies.profit,
   'original_title': movies.original_title,
   'release_date': movies.release_date
 })

p = figure(x_axis_label='Budget in millions $', y_axis_label='Rank',
      tools = [HoverTool(tooltips = '@original_title')])

p.circle(x = 'x', y = 'y', source=source)


def update_plot(attr, old, new):
    yr = slider.value
    # Set new_data
    new_data = {
        'x'       : data.budget.loc[data.release_date == str(yr)].values,
        'y'       : data.vote_average.loc[data.release_date == str(yr).values
}
    # Assign new_data to source.data
    source.data = new_data

slider = Slider(start=1970, end=2016, step=1, value=1970, title='Year')
slider.on_change('value', update_plot)

layout = row(widgetbox(slider), p)

show(layout)

Что должно быть в функции обновления графика?Кажется, этот функционал просто не работает.

1 Ответ

0 голосов
/ 15 ноября 2018

Для связывания виджетов в блокноте Jupyter, насколько я знаю, требуются настраиваемые обратные вызовы Javascript. Ваш пример будет работать только в приложении bokeh serve. Проверьте этот ноутбук , чтобы увидеть, как.

...