diff --git a/panel/pane/holoviews.py b/panel/pane/holoviews.py index 90eee329a0..82c1ff3a81 100644 --- a/panel/pane/holoviews.py +++ b/panel/pane/holoviews.py @@ -259,10 +259,7 @@ def _get_model(self, doc, root=None, parent=None, comm=None): kwargs = {p: v for p, v in self.param.values().items() if p in Layoutable.param and p != 'name'} - pane_type = self._panes.get(backend, Pane) - if 'tight' in pane_type.param: - kwargs['tight'] = True - child_pane = pane_type(state, **kwargs) + child_pane = self._get_pane(backend, state, **kwargs) self._update_plot(plot, child_pane) model = child_pane._get_model(doc, root, parent, comm) if ref in self._plots: @@ -273,6 +270,12 @@ def _get_model(self, doc, root=None, parent=None, comm=None): self._models[ref] = (model, parent) return model + def _get_pane(self, backend, state, **kwargs): + pane_type = self._panes.get(backend, Pane) + if isinstance(pane_type, type) and issubclass(pane_type, Matplotlib): + kwargs['tight'] = True + return pane_type(state, **kwargs) + def _render(self, doc, comm, root): import holoviews as hv from holoviews import Store, renderer as load_renderer