Боке снимите флажок

#bokeh

Вопрос:

На данный момент я пытаюсь просто снять флажок Боке с помощью пользовательской кнопки.

Но я получаю неожиданные результаты: Флажки не создаются в отмеченном состоянии, и кнопка не снимает флажки.

Это потому, что я неправильно active понимаю атрибут?

 from bokeh.models.widgets import CheckboxGroup, Button from bokeh.layouts import column from bokeh.io import curdoc from bokeh.plotting import show  checkbox_group_1 = CheckboxGroup(labels=["Group 1 Button"], active=[1]) checkbox_group_2 = CheckboxGroup(labels=["Group 2 Button A", "Group 2 Button B"], active=[1,1]) checkbox_group_3 = CheckboxGroup(labels=["Group 3 Button A", "Group 3 Button B"], active=[1,1])   button = Button(label="Foo", button_type="success")  def buttonclick():  checkbox_group_1.active = [0]  checkbox_group_2.active = [0,0]  checkbox_group_3.active = [0,0]  button.on_click(buttonclick)   layout=column(checkbox_group_1,checkbox_group_2,checkbox_group_3, button) curdoc().add_root(layout)   !powershell -command {'bokeh serve --show Buttoninteraction.ipynb'} #I'm working within Jupyter notebook.  

В идеале я хотел бы, чтобы флажки снимались, когда один из другой группы отмечен. Буду признателен за любую помощь.

Ответ №1:

active Атрибут представляет собой список, в котором указывается индекс выбранных элементов. Поэтому, чтобы отменить их выбор, просто используйте checkbox_group.active = []

 from bokeh.models.widgets import CheckboxGroup, Button from bokeh.layouts import column from bokeh.io import curdoc from bokeh.plotting import show  checkbox_group_1 = CheckboxGroup(labels = ["Group 1 Button"], active = [0]) checkbox_group_2 = CheckboxGroup(labels = ["Group 2 Button A", "Group 2 Button B"], active = [1]) checkbox_group_3 = CheckboxGroup(labels = ["Group 3 Button A", "Group 3 Button B"], active = [1])  button = Button(label = "Foo", button_type = "success")  def buttonclick():  checkbox_group_1.active = []  checkbox_group_2.active = []  checkbox_group_3.active = []  button.on_click(buttonclick)  layout = column(checkbox_group_1, checkbox_group_2, checkbox_group_3, button) curdoc().add_root(layout)  

Пример active значения для checkbox_group_2:

 value selected [0] first  [1] second [0, 1] both [] None  

Комментарии:

1. Спасибо вам за помощь!