I was wondering if there is a clean and future-proof way of replacing what jupyterlab displays for holoviews elements with a custom panel ?
I’m working on a library that exposes a number of functions returning (mostly) time series.
To support data analysis, I developed a panel that adds a dataframe widget under the plot, synchronized with a VLine cursor (clicking on the cursor scrolls on the df, and vice versa).
I would like to be able to display the extra widgets under my plot, but stick to a holoviews object instead of a Panel so that the output of various functions can be combined easily (Layout, Overlay, custom .options() etc).
My current workarounds are:
- do not display the extra widget by default
- Use IPython.display.display to display the panel in cell’s output. That is a bit buggy:
- The widgets can only be over the plot, as they are displayed as a side effect, thereby before the plot itself
- If you have a cell that just assigns figures to variables before displaying them later, the cell output still contains all the widgets, which should not really be shown there.
EDIT: here is the panel in question, displaying a dataframe in tabs