Hi @ahuang11
Something like the below should do the trick
import holoviews as hv
import numpy as np
import panel as pn
import param
DEFAULT_PLAT = hv.Curve([0,1,2,3])
class App(param.Parameterized):
value = param.Integer(default=3)
set_random_value = param.Action(label="Random")
settings_pane = param.Parameter()
plot_pane = param.Parameter()
view = param.Parameter()
def __init__(self, **params):
super().__init__(**params)
self.set_random_value = self._set_random_value
self.settings_pane = pn.Param(self, parameters=["value", "set_random_value"])
self.plot_pane = pn.pane.HoloViews(DEFAULT_PLAT)
self.view = pn.Column(self.plot_pane, self.settings_pane)
@param.depends("value", watch=True)
def _update_plot_pane(self):
self.plot_pane.object = hv.Curve([0,1,2,self.value])
def _set_random_value(self, event):
self.value = int(np.random.rand(1) * 10)
App().view.servable()