found the solution:
import holoviews as hv
# x, y, xy are NumPy arrays
tiles = [(x[j], y[i], xy[i, j]) for i in range(len(y)) for j in range(len(x))] # creating a grid like list
heatmap = hv.HeatMap(tiles)
# Declare Tap stream with heatmap as the source and initial values
posxy = hv.streams.Tap(source=heatmap, x=x[0], y=0)
# Define function to view the relevant time series based on tap location
def tap_curve(x, y):
curve = hv.Curve((t, v))
curve = curve.opts(xlim=(x, x + 10), framewise=True)
return curve
# Connect the Tap stream to the tap_ts callback
tap_dmap = hv.DynamicMap(tap_ts, streams=[posxy])
layout = heatmap + tap_dmap
apparently the “framewise=True” is critical for proper updating, I’m not sure why and what exactly it does but it works as expected like this…