我有一个用黑色圆圈绘制的散点图。使用框选择工具时,框外的圆圈会自动着色为半透明蓝色。
在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)
答案 0 :(得分:3)
您可以更改圆圈渲染器的selection_glyph
和nonselection_glyph
属性。有关详细信息,请参阅manual或How 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)