其他分享
首页 > 其他分享> > 更改Bokeh中的框选择工具的突出显示行为?

更改Bokeh中的框选择工具的突出显示行为?

作者:互联网

我有一个用黑眼圈绘制的散点图.使用框选择工具时,框外的圆圈会自动着色为半透明的蓝色.

在API中,有没有一种方法可以使外部圆圈保持黑色并更改内部圆圈的颜色?如果我有两个链接的散点图,是否可以使每个图上突出显示的圆圈具有不同的颜色?

import numpy as np
from bokeh.plotting import figure, output_file, show

N = 100
max = 100
x = np.random.random(size=N) * max
y = np.random.random(size=N) * max
output_file("scatter.html")

p = figure(tools="box_select", width=400, height=400, x_range=(0,100), y_range=(0,100))
p.circle(x, y, size=10, fill_color="black", line_color=None)

show(p) 

解决方法:

您可以更改圆形渲染器的selection_glyph和nonselection_glyph属性.有关更多详细信息,请参见manualHow to set properties of selected/unselected glyphs in bokeh.

您可以为每个图使用不同的颜色,选择不会共享视觉属性.

import numpy as np
from bokeh.plotting import figure, show, output_file
from bokeh.models import Circle

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

p = figure(tools="box_select", width=400, height=400, x_range=(0,100), y_range=(0,100))
r = p.circle(x, y, size=10, fill_color="black", line_color=None)
r.selection_glyph = Circle(fill_color="orange", line_color=None)
r.nonselection_glyph = Circle(fill_color="black", line_color=None)

output_file("scatter.html")
show(p) 

标签:bokeh,python
来源: https://codeday.me/bug/20191119/2035267.html