CheckboxGroup, боке, гистограмма с накоплением - PullRequest
0 голосов
/ 16 апреля 2020

Я сделал столбчатую диаграмму в боке с помощью инструмента наведения мыши, а теперь также хочу добавить CheckboxGroup к графику. Я, однако, очень плохо знаком с Боке, поэтому я немного борюсь. Я особенно не уверен, как сделать функцию обновления, я пытался запустить ее, но просто не понимаю, что для этого нужно:

    trees_to_plot = [tree_selection.labels[i] for i in 
                        tree_selection.active]
    temp = make_dataset(trees_to_plot,
                           bin_width = 40)
    # \TODO: add more code here!

Код самой диаграммы выглядит следующим образом:

p = figure(x_range = districtName,plot_width = 900, plot_height=400, 
           title='Tree pr. district',toolbar_location= None)
# Stacked bar chart
renderers = p.vbar_stack(stackers=treeName,x='bydelsnavn',source=temp,
            width=0.5, color = colornames)

# Add the hover tool
for r in renderers:
    tree = r.name
    hover = HoverTool(tooltips=[
        ("%s" % tree, "@{%s}" % tree)
    ], renderers = [r])
    p.add_tools(hover)

p.xaxis.axis_label = 'Copenhagen city cistricts'
p.yaxis.axis_label = 'Tree counts'

# Creat the checkbox selection element
tree_selection = CheckboxGroup(labels=treeName, active = [0,1])
# Link the checkboxes to the information on the graph
tree_selection.on_change('active', update)

# Add to the CheckboxGroup to the figure
controls = WidgetBox(tree_selection)
layout = row(controls,p)
show(layout)

Этот код покажет все флажки с диаграммой, но никакого взаимодействия между полями и самой диаграммой явно не происходит. Может ли кто-нибудь указать мне правильное направление?

Заранее спасибо! : D

1 Ответ

0 голосов
/ 16 апреля 2020

Вы используете show, который создает страницу c HTML. Но для on_change вы передаете функцию Python, и для этого вам нужно использовать сервер Bokeh. Попробуйте выполнить следующий пример: https://docs.bokeh.org/en/latest/docs/user_guide/server.html#single -module-format Если он все еще не работает, обязательно опубликуйте полный код, который можно запустить без каких-либо изменений.

...