Selection Stream#
Download this script from GitHub (right-click to download).
"""
An example app demonstrating how to use the HoloViews API to generate
a bokeh app with complex interactivity. Uses a Selection1D stream
to compute the mean y-value of the current selection.
The app can be served using:
bokeh serve --show selection_stream.py
"""
import numpy as np
import holoviews as hv
from holoviews.streams import Selection1D
renderer = hv.renderer('bokeh')
hv.opts("Points [tools=['box_select']]")
data = np.random.multivariate_normal((0, 0), [[1, 0.1], [0.1, 1]], (1000,))
points = hv.Points(data)
sel = Selection1D(source=points)
mean_sel = hv.DynamicMap(lambda index: hv.HLine(points.iloc[index]['y'].mean()
if index else -10),
kdims=[], streams=[sel])
doc = renderer.server_doc(points * mean_sel)
doc.title = 'HoloViews Selection Stream'