<div dir="ltr">Ah, I misunderstood!<div><br></div><div>In that case I suggest looking at ipympl / jupyter-matplotlib (which is a ipywidget based backend).  I suspect you can use the same process to get a rendered canvas, and there is likely a way to extract the widget objects from it.</div><div><br></div><div>Tom</div></div><br><div class="gmail_quote"><div dir="ltr">On Wed, Nov 7, 2018 at 7:24 PM Juan Nunez-Iglesias <<a href="mailto:jni.soma@gmail.com">jni.soma@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><u></u><div><div>Thanks Tom!<br></div><div><br></div><div>My question is, would it be possible for the html to contain the interactive MPL figure, as returned by the notebook backend? There's also _repr_javascript_ it turns out.<br></div><div><br></div><div>But yes, this is already great, I can use this for _repr_png_.</div><div><br></div><div>I'm targeting 3.0+ so "new enough matplotlib" shouldn't be an issue. =)<br></div><div><br></div><div>Juan.</div><div><br></div><div>On Thu, Nov 8, 2018, at 11:16 AM, Thomas Caswell wrote:<br></div><blockquote type="cite" id="m_-5871064979867997312fastmail-quoted"><div dir="ltr"><div>Something like:<br></div><div><br></div><div>```<br></div><div><span style="font-family:monospace,monospace" class="m_-5871064979867997312font">from matplotlib.figure import Figure</span><br></div><div><span style="font-family:monospace,monospace" class="m_-5871064979867997312font">from matplotlib.backends.backend_agg import FigureCanvas</span><br></div><div><span style="font-family:monospace,monospace" class="m_-5871064979867997312font"></span><br></div><div><span style="font-family:monospace,monospace" class="m_-5871064979867997312font">fig = Figure()</span><br></div><div><span style="font-family:monospace,monospace" class="m_-5871064979867997312font">canvas = FigureCanvas(fig)  # this step will be optional in mpl 3.1 (and current master)</span><br></div><div><span style="font-family:monospace,monospace" class="m_-5871064979867997312font"></span><br></div><div><span style="font-family:monospace,monospace" class="m_-5871064979867997312font">ax = fig.subplots()  # assuming new enough matplotlib</span><br></div><div>```<br></div><div><br></div><div>or one of the other backends.  If you are doing this for a htmlrepr you likely want to also do<br></div><div><br></div><div>```<br></div><div><span style="font-family:monospace,monospace" class="m_-5871064979867997312font">output = BytesIO()</span><br></div><div><span style="font-family:monospace,monospace" class="m_-5871064979867997312font">fig.savefig(output, format='png')</span><br></div><div>```<br></div><div><br></div><div>to get the image as a buffer you can inject into the repr (or SVG?)<br></div><div><br></div><div>Hope that helps!<br></div><div><br></div><div>Tom<br></div></div><div><br></div><div class="m_-5871064979867997312fastmail-quoted-gmail_quote"><div dir="ltr">On Wed, Nov 7, 2018 at 4:38 PM Juan Nunez-Iglesias <<a href="mailto:jni.soma@gmail.com" target="_blank">jni.soma@gmail.com</a>> wrote:<br></div><blockquote style="margin-top:0px;margin-right:0px;margin-bottom:0px;margin-left:0.8ex;border-left-width:1px;border-left-style:solid;border-left-color:rgb(204,204,204);padding-left:1ex" class="m_-5871064979867997312fastmail-quoted-gmail_quote"><div><u></u><br></div><div><div>Hi,<br></div><div><br></div><div>I'm working on a class to which I would like to add a _repr_html_ [1] method for display in Jupyter notebooks. Is there a way to generate a matplotlib notebook backend view "offline" (not using pyplot, since that will behave differently depending on the currently active backend), and then return the corresponding html?<br></div><div><br></div><div>Thanks,<br></div><div><br></div><div>Juan.<br></div><div><br></div><div>.. [1]: <a href="https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display" target="_blank">https://ipython.readthedocs.io/en/stable/config/integrating.html#rich-display</a><br></div></div><div>_______________________________________________<br></div><div> Matplotlib-users mailing list<br></div><div> <a href="mailto:Matplotlib-users@python.org" target="_blank">Matplotlib-users@python.org</a><br></div><div> <a rel="noreferrer" href="https://mail.python.org/mailman/listinfo/matplotlib-users" target="_blank">https://mail.python.org/mailman/listinfo/matplotlib-users</a><br></div></blockquote></div><div><br></div><div><br></div><div>-- <br></div><div class="m_-5871064979867997312fastmail-quoted-gmail_signature" dir="ltr"><div>Thomas Caswell<br></div><div><a href="mailto:tcaswell@gmail.com" target="_blank">tcaswell@gmail.com</a><br></div></div></blockquote><div><br></div></div></blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature">Thomas Caswell<br><a href="mailto:tcaswell@gmail.com" target="_blank">tcaswell@gmail.com</a></div>