This seem to do the trick
class Test(param.Parameterized):
x = param.Number(0)
y = param.Number(0)
def __init__(self, **params):
super().__init__(**params)
self.tap = hv.streams.Tap(x=self.x, y=self.y)
self.dmap = hv.DynamicMap(self.draw, streams=[self.tap])
def draw(self, x, y):
self.x, self.y = x, y
return hv.Points((x, y))
@param.depends("x", "y", watch=True)
def _update_param(self):
self.dmap.event(x=self.x, y=self.y)
def panel(self):
return pn.Column(
self.dmap,
pn.Row(self.param.x, self.param.y)
)