diff --git a/holoviews/ipython/__init__.py b/holoviews/ipython/__init__.py index e096269814..eff88d356f 100644 --- a/holoviews/ipython/__init__.py +++ b/holoviews/ipython/__init__.py @@ -123,8 +123,12 @@ def __call__(self, *args, **params): # Not quite right, should be set when switching backends if 'matplotlib' in Store.renderers and not notebook_extension._loaded: - svg_exporter = Store.renderers['matplotlib'].instance(holomap=None,fig='svg') - holoviews.archive.exporters = [svg_exporter] + holoviews.archive.exporters + mpl_exporter = Store.renderers['matplotlib'].instance(holomap='widgets',fig='svg') + holoviews.archive.exporters = [mpl_exporter] + holoviews.archive.exporters + + if 'bokeh' in Store.renderers and not notebook_extension._loaded: + bk_exporter = Store.renderers['bokeh'].instance(holomap='widgets') + holoviews.archive.exporters = [bk_exporter] + holoviews.archive.exporters p = param.ParamOverrides(self, {k:v for k,v in params.items() if k!='config'}) if p.case_sensitive_completion: diff --git a/holoviews/plotting/bokeh/renderer.py b/holoviews/plotting/bokeh/renderer.py index 08e09ba111..db58a81b9c 100644 --- a/holoviews/plotting/bokeh/renderer.py +++ b/holoviews/plotting/bokeh/renderer.py @@ -113,7 +113,7 @@ def __call__(self, obj, fmt=None, doc=None): if self.mode == 'server': return self.server_doc(plot, doc), info elif isinstance(plot, tuple(self.widgets.values())): - return plot(), info + return self.static_html(obj), info elif fmt == 'png': png = self._figure_data(plot, fmt=fmt, doc=doc) return png, info diff --git a/holoviews/plotting/mpl/renderer.py b/holoviews/plotting/mpl/renderer.py index a1747ed28c..f9704db628 100644 --- a/holoviews/plotting/mpl/renderer.py +++ b/holoviews/plotting/mpl/renderer.py @@ -102,7 +102,7 @@ def __call__(self, obj, fmt='auto'): if plot is None: return if isinstance(plot, tuple(self.widgets.values())): - data = plot() + data = self.static_html(obj) else: with mpl.rc_context(rc=plot.fig_rcparams): data = self._figure_data(plot, fmt, **({'dpi':self.dpi} if self.dpi else {})) diff --git a/holoviews/plotting/renderer.py b/holoviews/plotting/renderer.py index e7189c1d90..7eab5172aa 100644 --- a/holoviews/plotting/renderer.py +++ b/holoviews/plotting/renderer.py @@ -266,6 +266,10 @@ def html(self, obj, fmt=None, css=None, **kwargs): code to initialize a Comm, if the plot supplies one. """ plot, fmt = self._validate(obj, fmt) + + if any(isinstance(plot, w) for w in self.widgets.values()): + return plot() + figdata, _ = self(plot, fmt, **kwargs) if css is None: css = self.css