python - 使用 RadioButtonGroup、Python Bokeh 更改网格图
问题描述
亲爱的,
我有三个网格图,并试图根据单选按钮选择替换网格图。例如,如果我选择 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)
谢谢你的时间。此致
解决方案
亲爱的,
我已经找到了解决方案并让它发挥作用。请在我的代码下面找到。
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)
显示新网格
我是编程新手。我不确定这是一个好的解决方案还是一个坏的解决方案,但目前它对我有用:)。
感谢你的宝贵时间。此致
推荐阅读
- jquery - 如何获得使用内部变量的 if 语句
- java - Selenium Webdriver java rootWebElement.findElements 忽略子子项?
- ios - 如何使用 Swift 4.2 将具有可编码结构的 JSON 响应加载到 tableview 中?
- spring-boot - Spring Boot 2 中的 Bean 命名
- events - 跟踪用户不在网站时发生的 Google Analytics 事件
- html - 如何使包装器在我的网页的 CSS 上工作?
- android - READ_CONTACTS 权限不起作用,除非我在 android SDK 23+ 上手动关闭和打开它
- dart - Dart:替换两个其他字符串之间的字符串
- c++ - 无法从受保护的值返回值
- amazon-web-services - 将 AWS 实例 IP 地址保存到 groovy 脚本中的变量无法构建