import holoviews as hv import numpy as np import holoviews.plotting.mpl list(hv.Store.registry['matplotlib'].items())[0:5] opts = hv.Store.options(backend='matplotlib') hv.core.options.OptionTree(opts.items()[0:10], groups=['plot', 'style', 'norm']) curve = hv.Curve(range(10)) curve fig = hv.render(curve) print(type(fig)) p = hv.render(curve, backend='bokeh') print(type(p)) def hook(plot, element): # Allows accessing the backends figure object plot.state # The handles contain common plot objects plot.handles curve = curve.opts(hooks=[hook]) hv.save(curve, 'curve.png') hv.save(curve, 'curve.html', backend='bokeh') hv.Store.renderers renderer = hv.plotting.mpl.MPLRenderer.instance(dpi=120) hv.renderer('matplotlib') hv.Store.registry['matplotlib'][hv.Curve] curve = hv.Curve(range(10)) curve_plot = renderer.get_plot(curve) curve_plot print(curve_plot.state) curve_plot.state from IPython.display import display_png png, info = renderer(curve, fmt='png') print(info) display_png(png, raw=True) renderer.params('fig').objects from IPython.display import display_svg svg, info = renderer(curve, fmt='svg') print(info) display_svg(svg, raw=True) renderer.save(curve, '/tmp/test', fmt='png') from IPython.display import display_html html = renderer.html(curve) display_html(html, raw=True) holomap = hv.HoloMap({i: hv.Image(np.random.rand(10, 10)) for i in range(3)}) widget = renderer.get_widget(holomap, 'widgets') widget html = renderer.static_html(holomap) hmap1 = hv.HoloMap({i: hv.Image(np.random.rand(10, 10)) * hv.Ellipse(0, 0, 0.2*i) for i in range(5)}) element = hv.Curve((range(10), np.random.rand(10))) layout = hmap1 + element print( repr(layout) ) layout_plot = renderer.get_plot(layout) layout_plot adjoint_plot = layout_plot.subplots[0, 0] adjoint_plot overlay_plot = adjoint_plot.subplots['main'] overlay_plot overlay_plot.subplots.keys() layout_plot.traverse(specs=[hv.plotting.mpl.CurvePlot]) fig = layout_plot.initialize_plot() fig layout_plot.update(0) plot = hv.plotting.mpl.RasterPlot(holomap) plot dmap = hv.DynamicMap(lambda x: hv.Points(np.arange(x)), kdims=[], streams=[hv.streams.PointerX(x=10)]) plot = renderer.get_plot(dmap) plot.initialize_plot() dmap.event(x=20,) plot.refresh() plot.state plot.handles