Существует достаточно документации, начните, например, здесь: http://holoviews.org/reference/streams/bokeh/Selection1D_tap.html
По сути, вам нужно связать ваш поток выбора с элементом holoviews через DynamicMap.Затем selection
будет содержать выбранные вами индексы.
Я адаптировал следующий пример из документов:
import holoviews as hv
import numpy as np
hv.extension('bokeh')
N = 100
x = np.random.normal(size=N)
y = np.random.normal(size=N)
points = hv.Points((x, y))
selection = hv.streams.Selection1D(source=points, index=[0]) # set default arg
def process_selection(index):
print(index)
return hv.VLine(np.mean(x[index]))
dmap = hv.DynamicMap(process_selection, streams=[selection])
l = points * dmap
l.options(hv.opts.Points(tools=['tap'], size=10))
Затем сделайте некоторый выбор.Теперь print(selection)
будет содержать выбранные индексы