Open rafgonsi opened 3 years ago
Yeah this is a tough one. Bokeh absolutely does not like reusing models. The only thing I can think of is for HoloViews to create a new copy of each bokeh model it is given (and for Panel to do the same everywhere it accepts raw models).
Has there been any other considerations or work arounds to this problem? I am experiencing the exact same problem with an app I've designed for visualizing climate model data with Holoviews, Panel and Bokeh. It creates a couple filled contour plots that require Bokeh Fixed Tickers for each contour level and arranges the plots in a panel Tabs. I can successfully save the plots when clicked but then attempting to change anything or update them leads to this error.
ALL software version info
Python 3.7.6, holoviews==1.14.3, panel==0.11.3, bokeh==2.3.1 (also tested on Python 3.7.6, panel==0.10.3, holoviews==1.14.0, bokeh==2.2.3, with the same result)
Description of expected behavior and the observed behavior
In my application I have tabs which are dynamically populated. The tabs must be dynamic, because of performance issues. I also need a way to save tabs with all content. To achieve this I need to clone them with overwriting
dynamic
parameter toFalse
.The error is caused by the fact that one of the plots has a custom ticks (see the MRE below). This error is raised in a particular situation:
Note that the error is not raised when the active tab contains the plot with custom ticks.
Complete, minimal, self-contained example code that reproduces the issue
Stack traceback and/or browser JavaScript console output
Screenshots or screencasts of the bug in action
Possible workaround
A workaround that works when the plot with custom ticks is in only one tab: