我在名为main_plot的列表中有一个主图和其他图的列表。每个图都连接到第一个具有相同x-asis缩放的图,其中x_range=main_plot.x_range 我想要实现的是有一个复选框,如果选中它,我想要显示额外的绘图。 到目前为止,我有一个基于一个示例的工作代码:Bokeh: Widget来显示/隐藏图形 这里的响应使用了一个列()函数,我能够实现它:
toogle_subplots = generate_additional_subplots(main_plot)
final_grid += toogle_subplots
col = column()
checkbox = CheckboxGroup(labels=["Plot"],
active=[0], width=100)
callback = CustomJS(args=dict(plots=toogle_subplots, col=col, checkbox=checkbox), code="""
const children = []
for (const i of checkbox.active) {
for (const j of plots) {
children.push(j)
}
}
col.children = children
""")
checkbox.js_on_change('active', callback)
final_grid += [checkbox, col]
grid = layout(final_grid, sizing_mode='stretch_width')
然而,在我的例子中,我使用的是网格,而不是列,由于某些原因,列内的图比正常情况下更宽。在上面的例子中,我想要添加toogle_subplot,它是一个图的列表,如果选中了复选框,它就会添加到网格中。它可以工作,但是当我在没有JS回调的情况下向布局添加toogle_subplot时,它们的宽度是不同的。 图片: 复选框上面的两行和下面的两行是toogle_subplots中的数字,它们的宽度不同。他们的行为很好,他们遵循的缩放和平移的主要情节。 有没有更简单的方法来解决这个问题? 问题来源StackOverflow 地址:/questions/59382097/bokeh-add-figure-to-layout-on-button-press
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。