如何创建空白选择?

时间:2019-07-12 15:51:28

标签: python bokeh

我正在努力处理用户可以修改的选择。我注意到bokeh不能区分全选和不选。这是真的吗?

因此,对于某些具有数据键x的列数据源,以下结果将导致相同的选择:

source.selected.indices = []

all_indices = list(range(len(source.data['x'])))
source.selected.indices = all_indices

如何取消选择数据源的所有元素?

编辑:一个最小的工作示例。

import bokeh.plotting
from bokeh.io import curdoc
from bokeh.models import ColumnDataSource


data = dict(x=[15,2,21], y=[8,8,6])
source = ColumnDataSource(data)

plot = bokeh.plotting.figure()
plot.circle(x='x', y='y', source=source)

source.selected.indices = [0,1,2]
source.selected.indices = [1]
source.selected.indices = []

curdoc().add_root(plot)

source.selected.indices = []时,所有圆圈均显示为“已选中”;在source.selected.indices = [0,1,2]时,也显示为。显然,选择是不同的,应该看起来不一样,对吧?

1 个答案:

答案 0 :(得分:1)

选择时的默认操作是“冲洗”未选择的点(通过降低其alpha并将颜色设置为灰色),但使选择的点保持原样(相对于未选择的点突出点)。如果您需要其他内容,则用户指南中有一节描述如何配置Selected and Unselected Glyphs。例如:

plot.circle([1, 2, 3, 4, 5], [2, 5, 8, 2, 7], size=50,

            # set visual properties for selected glyphs
            selection_color="firebrick",

            # set visual properties for non-selected glyphs
            nonselection_fill_alpha=0.2,
            nonselection_fill_color="blue",
            nonselection_line_color="firebrick",
            nonselection_line_alpha=1.0)

enter image description here enter image description here