# How to change opts parameters via parameters of panel

**URL:** <https://discourse.holoviz.org/t/how-to-change-opts-parameters-via-parameters-of-panel/2039>\
**Category:** HoloViews\
**Created:** [March 28, 2021, 7:24am UTC](https://discourse.holoviz.org/t/how-to-change-opts-parameters-via-parameters-of-panel/2039 "2021-03-28T07:24:13Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![JhonnyKokos](https://discourse.holoviz.org/user_avatar/discourse.holoviz.org/jhonnykokos/32/2710_2.png) [@JhonnyKokos](https://discourse.holoviz.org/u/JhonnyKokos)\
**Post date:** [March 28, 2021, 7:24am UTC](https://discourse.holoviz.org/t/how-to-change-opts-parameters-via-parameters-of-panel/2039/1 "2021-03-28T07:24:13Z")

</div>

Hello, I would like change the color\_levels value with panel of already plotted figure, I am trying to do it in that way:

```
import param
import panel as pn
import numpy as np
import holoviews as hv
from holoviews.streams import Pipe

class Layout(param.Parameterized):
    level = param.Number(0.3, bounds=(0.0, 1))
    
    def __init__ (self, **params):
        super(Layout, self). __init__ (**params)
        self._waterlvl = [0,self.level,1] 
        
    @param.depends("level", watch=True)
    def _change_levels(self,):
        self._waterlvl = [0,self.level,1] 
        
layout = Layout()

pipe = Pipe(data=[])
pipe.send(np.random.rand(10,10))
Image = hv.DynamicMap(hv.Image, streams=[pipe]).apply.opts(color_levels=layout._waterlvl) 
pdmap = pn.panel(Image)
playout = pn.panel(layout)
pn.Row(playout, pdmap)

```

I guess it just doesn’t update when parameter changes. I also tried to get the object through render and call update(0) method, but I faild with that as well. Could you help me, please?

---

<div class="post-metadata">

**Author:** ![xavArtley](https://discourse.holoviz.org/user_avatar/discourse.holoviz.org/xavartley/32/1286_2.png) [@xavArtley](https://discourse.holoviz.org/u/xavArtley)\
**Post date:** [March 28, 2021, 9:31am UTC](https://discourse.holoviz.org/t/how-to-change-opts-parameters-via-parameters-of-panel/2039/2 "2021-03-28T09:31:39Z")

</div>

your \_waterlevel attribute must be a parameter:

```python
import param
import panel as pn
import numpy as np
import holoviews as hv
from holoviews.streams import Pipe
pn.extension()

class Layout(param.Parameterized):
    level = param.Number(0.3, bounds=(0.0, 1))
    _waterlvl = param.List(precedence=-1)
    def __init__ (self, **params):
        super(). __init__ (**params)
        self._waterlvl = [0,self.level,1] 
        
    @param.depends("level", watch=True)
    def _change_levels(self,):
        self._waterlvl = [0,self.level,1] 
        
layout = Layout()

pipe = Pipe(data=[])
pipe.send(np.random.rand(10,10))
Image = hv.DynamicMap(hv.Image, streams=[pipe]).apply.opts(color_levels=layout.param._waterlvl) 
pdmap = pn.panel(Image)
playout = pn.panel(layout)
pn.Row(playout, pdmap)

```

---

<div class="post-metadata">

**Author:** ![JhonnyKokos](https://discourse.holoviz.org/user_avatar/discourse.holoviz.org/jhonnykokos/32/2710_2.png) [@JhonnyKokos](https://discourse.holoviz.org/u/JhonnyKokos)\
**Post date:** [March 28, 2021, 9:48am UTC](https://discourse.holoviz.org/t/how-to-change-opts-parameters-via-parameters-of-panel/2039/3 "2021-03-28T09:48:43Z")

</div>

Thank you very much @xavArtley!!!
