如何配置TapTool,以便在单击时不隐藏其他数据点?

时间:2015-06-18 12:38:43

标签: bokeh

在单击数据点时,所有其他数据点都以阴影显示。有办法防止这种情况吗?

fig = fig.circle(x, y)

理想情况下,我想增加所选圈子的大小。有这么简单的原因吗?

更新

似乎我们无法改变大小...根据Auto Layout With the Xamarin Designer

  

渲染时只考虑selection_glyph和nonselection_glyph的视觉属性。更改   位置,大小等都没有效果。

但是,我们可以使用line_width属性对其进行模拟,如果我将其与line_dish结合使用会更有趣。

1 个答案:

答案 0 :(得分:4)

从Bokeh 0.12.15开始,您可以在uyo调用字形方法时设置nonselection_glyph=None,例如:

p.circle(x, y, radius=radii, fill_color="navy", 
         line_color=None, fill_alpha=0.6, 

         # this is the new part
         nonselection_glyph=None) 

OLD:

从Bokeh 0.9.0开始,这对于bokeh.plotting接口来说有点笨拙。您需要将non_selection_glyph设置为与“普通”字形相同。以下是基于Bokeh附带的color_scatter.py示例的完整示例:

import numpy as np

from bokeh.plotting import figure, show, output_file

N = 4000

x = np.random.random(size=N) * 100
y = np.random.random(size=N) * 100
radii = np.random.random(size=N) * 1.5

TOOLS="pan,wheel_zoom,box_zoom,reset,tap,box_select,lasso_select"

output_file("color_scatter.html")

p = figure(tools=TOOLS)
p.circle(x, y, radius=radii, fill_color="navy", 
         line_color=None, fill_alpha=0.6, name="foo") 

# !!! Here is the part you need. Also note: name="foo" added above !!!
renderer = p.select(name="foo")[0]
renderer.nonselection_glyph=renderer.glyph.clone()

show(p)  # open a browser

我已经在GH上提出了改进的问题,你可以在这里关注它:

https://github.com/bokeh/bokeh/issues/2414