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