Title
BoundsX stream example
Description
A linked streams example demonstrating how to use BoundsX streams.
Backends
Bokeh
Tags
streams, linked, interactive

In [ ]:
import pandas as pd
import numpy as np
import holoviews as hv
from holoviews import streams
hv.extension('bokeh')

In [ ]:
n=200
xs = np.linspace(0, 1, n)
ys = np.cumsum(np.random.randn(n))
df = pd.DataFrame({'x': xs, 'y': ys})
curve = hv.Curve(df)

def make_from_boundsx(boundsx):
    sub = df.set_index('x').loc[boundsx[0]:boundsx[1]]
    return hv.Table(sub.describe().reset_index().values, 'stat', 'value')

dmap = hv.DynamicMap(make_from_boundsx, streams=[streams.BoundsX(source=curve, boundsx=(0,0))])

curve.opts(tools=['xbox_select']) + dmap