I am using
panel to display a plotly pane. It works quite nicely but as soon as want to update some trace parameters, the layout is reseted at its original view. Is this a feature, a bug or am I doing this wrong?
Below a minimal self-contained example. In order to test the behaviour I am talking about, turn the 3d object with the mouse and then move the opacity slider.
import param import panel as pn import plotly.graph_objects as go pn.extension('plotly') class MyFig(param.Parameterized): opacity = param.Number(default=1, softbounds=(0,1)) fig_pane = param.ClassSelector(class_=pn.pane.Plotly) @param.depends('opacity', watch=True) def update_opacity(self): self.fig_pane.object.data.update(opacity=self.opacity) def view(self): return pn.Column(self.param.opacity, self.fig_pane) plotly_fig = go.Figure(data=[ go.Mesh3d( x=[0, 1, 2, 0], y=[0, 0, 1, 2], z=[0, 2, 0, 1], i=[0, 0, 0, 1], j=[1, 2, 3, 2], k=[2, 3, 1, 3], ) ]) myfig = MyFig(fig_pane=pn.pane.Plotly(plotly_fig)) myfig.view()
Thanks for your time