Linking widget to holoviews element's parameters

import xarray as xr
import hvplot.xarray  # noqa
import panel as pn
from holoviews import streams
import holoviews as hv
pn.extension()

air_ds = xr.tutorial.open_dataset('air_temperature').load()
air = air_ds.air



# setup a slider
Xslide = pn.widgets.RangeSlider(start=float(air_ds.lon.min().data), 
                                end=float(air_ds.lon.max().data), 
                                step=0.1)

# setup an image
image = air_ds.air.sel(time='2013-01-01T00:00:00', method='nearest').hvplot().apply.opts(xlim=Xslide.param.value_throttled)

# to have the slider in coherence with the zoom
# rangex = streams.RangeX(source=image)
# rangex.param.watch(lambda evt: setattr(Xslide, "value", evt.new), parameter_names=['x_range'], onlychanged=True)

pn.Column(Xslide, image)
4 Likes