У меня есть два связанных участка рассеяния с точками, которые имеют разные непрозрачности. Проблема в том, что при выборе некоторых точек с помощью инструмента выбора окна все невыбранные точки становятся одинаковыми непрозрачностью.Есть ли способ иметь многократные непрозрачности для неэлементного глифа в боке?
Я хотел бы, чтобы невыбранные пункты оставались их первоначальной непрозрачностью. Точки с различными непрозрачностью могут быть связаны, поэтому я не могу решить проблему, создав массив точек для каждого значения непрозрачности.
Есть ли способ, которым я могу достичь этого в API построения чертежей?
Могу ли я продлить nonselection_glyph
, чтобы его альфа-атрибут принимал массив значений непрозрачности, таких как альфа-атрибут маркера круга?
import numpy as np
from bokeh.plotting import output_file, figure, gridplot, show
from bokeh.models import ColumnDataSource, Circle
N = 100
max = 100
x1 = np.random.random(size = N) * max
y1 = np.random.random(size = N) * max
a1 = np.random.choice(a = [0.2, 0.5, 1], size = N)
x2 = np.random.random(size = N) * max
y2 = np.random.random(size = N) * max
a2 = np.random.choice(a = [0.2, 0.5, 1], size = N)
output_file('scatter.html')
source = ColumnDataSource(data = dict(x1 = x1, y1 = y1, x2 = x2, y2 = y2,
a1 = a1, a2 = a2))
left = figure(tools = 'box_select, tap', width = 400, height = 400,
x_range = (0,100), y_range = (0,100))
right = figure(tools = 'box_select, tap', width = 400, height = 400,
x_range = (0,100), y_range = (0,100))
points1 = left.circle('x1', 'y1', source = source, size = 10,
fill_color = 'blue', line_color = None, alpha = 'a1')
points2 = right.circle('x2', 'y2', source = source, size = 10,
fill_color = 'blue', line_color = None, alpha = 'a2')
points1.selection_glyph = Circle(fill_color = 'red', line_color = None)
points2.selection_glyph = Circle(fill_color = 'red', line_color = None)
p = gridplot([[left, right]])
show(p)