散景 - 如何使用没有默认选择的框工具?

时间:2016-03-01 17:05:21

标签: select preventdefault bokeh

我构建了一个散景应用程序,允许用户在数据中选择窗口并运行python代码来查找和标记(带标记)这些限制内的极值。为了便于交互,我使用框选择工具进行范围选择。在后续案例中重复此过程时会出现问题。在为结果放置标记后,通过将alpha设置为零使它们变为不可见,并且需要选择另一个案例。当新选择框包含先前的标记时,它们将根据选择变为可见。如何覆盖此默认行为?标记可以不可选吗?或者我可以在customJS中添加代码以在选择后隐藏它们吗?

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

有几种可能的方法。如果您只是希望未选择的字形在视觉上“消失”,您可以设置一个策略来执行此操作:

http://bokeh.pydata.org/en/latest/docs/user_guide/styling.html#selected-and-unselected-glyphs

基本上,对于bokeh.plotting,传递

nonselection_fill_alpha=0.0,
nonselection_line_alpha=0.0,

作为plot.circle来电或其他任何内容的参数。或者,如果您使用的是低级bokeh.models界面,例如:

renderer.nonselection_glyph = Circle(fill_alpha=0.0, line_alpha=0.0)

但要注意(我认为你已经存在)隐形标记仍然存在,并且如果用户碰巧使用选择工具在其上绘制一个框,则仍然可以选择。

如果您确实只希望选择后只有一部分数据可见并且可以选择,我会说您希望将列数据源批发中的数据替换为选择回调中的子集。