我是 Bokeh 的新手。我制作了一个小部件,当我单击一个复选框时,我希望能够在 Bokeh 图中添加/删除一行。我有 20 个这样的复选框,我不想重新绘制整个图形,只是在未选中复选框时删除 1 行。
这是通过回调完成的,我可以在回调中访问图形对象。我想有一种方法可以做这样的事情:
F=figure()
F.line('x', 'y', source=source, name='line1')
F.line('x', 'z', source=source, name='line2')
%%in callback
selected_line_name = 'line1' # this would be determined by checkbox
selected_line = F.children[selected_line_name]
delete(selected_line)
但是我不知道怎么办 1) 从其父对象访问一个字形 2) 删除一个字形
我尝试设置数据源 'y'=[],但由于所有列数据源的大小都必须相同,这会删除所有图...
最佳答案
有几种方式:
# Keep the glyphs in a variable:
line2 = F.line('x', 'z', source=source, name='line2')
# or get the glyph from the Figure:
line2 = F.select_one({'name': 'line2'})
# in callback:
line2.visible = False
关于python - 从 Bokeh 中的图形中删除线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46480571/