开发者社区> 问答> 正文

添加图形到布局上按按钮

我在名为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

展开
收起
kun坤 2019-12-27 17:20:13 564 0
1 条回答
写回答
取消 提交回答
问答地址:
问答排行榜
最热
最新

相关电子书

更多
3D动画的菜谱式灯光与云渲染 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载