Here is a minimal example using the tap stream:
import panel as pn
import holoviews as hv
pn.extension()
points = hv.Points([])
stream = hv.streams.Tap(source=points, x=np.nan, y=np.nan)
@pn.depends(stream.param.x, stream.param.y)
def location(x, y):
return pn.pane.Str(f'Click at {x:.2f}, {y:.2f}', width=200)
pn.Row(points, location)