У меня есть диаграмма рассеяния, которую я создал в Боке.Я хочу создать две прямоугольные заштрихованные области, которые будут отображаться при установке одного из двух полей в моей группе CheckboxGroup.Я использую обратный вызов .on_click
, чтобы попытаться это сделать.Вот мой код:
source = ColumnDataSource(data = dict(x,y))
hover = HoverTool(tooltips=["(indep,dep)","($x,$y)"])
p = figure(plot_width = 300, plot_height = 300, tools = [hover], title = "sample")
checkbox_group = CheckboxGroup(labels = ["select 1","select 2"])
def clicker():
if checkbox_group.active[0]:
p.quad(top = 50.0,bottom = 25.0, left = 0.0, right = 25.0)
if checkbox_group.active[1]:
p.quad(top = 25.0,bottom = 0.0, left = 25.0, right =50.0)
checkbox_group.on_click(clicker)
circles = p.circle('x','y',source=source)
hover.renderers.append(circles)
output_file("test_scatter.html",mode="inline",title="sample scatter")
L = layout([p],[widgetbox(checkbox_group)], sizing_mode = 'fixed')
show(L)
На выходе отображаются диаграмма рассеяния и два флажка (оба отключены).Когда я проверяю любой из полей, заштрихованные области не появляются.Что я делаю не так?