亲爱的
我有3个网格图,并试图根据单选按钮选择替换网格图。例如,如果我选择611,则grid1应该可见,而当我选择612(grid2)时,则应该可见。我一直在搜索,但无法解决。我已经尝试了多种方法,但是没有任何效果。请帮助我指导如何实现该目标。
请在我的代码下面找到。
grid1 = gridplot([[V1_Traffic, D1_Traffic]])
grid2 = gridplot([[V2_Traffic, D2_Traffic]])
grid3 = gridplot([[V3_Traffic, D3_Traffic]])
def update_plot(attrname, old, new):
if button_group.labels[0] == '611':
curdoc().clear()
curdoc().add_root(lay_out)
# curdoc().add_root(grid)
#lay_out = layout([[button_group]])
show(grid1)
if button_group.labels[1] == '612':
curdoc().clear()
curdoc().add_root(lay_out)
# curdoc().add_root(grid2)
#lay_out = layout([[button_group]])
show(grid3)
if button_group.labels[2] == '613':
curdoc().clear()
curdoc().add_root(lay_out)
# curdoc().add_root(grid3)
#lay_out = layout([[button_group]])
show(grid3)
button_group = RadioButtonGroup(labels=["611", "612", "613"], active=0)
button_group.on_change("active", update_plot)
# create layout and add to curdoc
lay_out = layout([[button_group]])
curdoc().add_root(grid)
curdoc().add_root(lay_out)
感谢您的宝贵时间。最好的问候
答案 0 :(得分:1)
亲爱的
我已经找到解决方案并开始工作。请在我的代码下面找到。
def update_plot(attrname, old, new):
if options[button_group.active] == '611':
curdoc().clear()
curdoc().add_root(lay_out)
curdoc().add_root(grid)
if options[button_group.active] == '612':
curdoc().clear()
curdoc().add_root(lay_out)
curdoc().add_root(p2)
if options[button_group.active] == '613':
curdoc().clear()
curdoc().add_root(lay_out)
curdoc().add_root(p3)
options = ["611", "612", "613"]
button_group = RadioButtonGroup(labels=options, active=0)
button_group.on_change("active", update_plot)
# create layout and add to curdoc
lay_out = layout([[button_group]])
curdoc().add_root(grid)
curdoc().add_root(lay_out)
索引为button_group.labels[0]
的单选按钮不起作用,因此,请执行额外的步骤对其进行修改
options = ["611", "612", "613"]
button_group = RadioButtonGroup(labels=options, active=0)
并通过
调用if options[button_group.active] == '612'
curdoc().clear()
清除页面上的所有内容并将其替换为新的网格数据。
curdoc().add_root(lay_out)
显示单选按钮
curdoc().add_root(p3)
以显示新网格
我是编程新手。我不确定这是一个好的解决方案还是不好的解决方案,但目前对我有用:)。
再次感谢您的宝贵时间。 最好的问候