<!DOCTYPE html><html><head><title></title><style type="text/css">p.MsoNormal,p.MsoNoSpacing{margin:0}</style></head><body><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="fastmail-quoted"><div dir="ltr"><div>Something like:<br></div><div><br></div><div>```<br></div><div><span style="font-family:monospace, monospace" class="font">from matplotlib.figure import Figure</span><br></div><div><span style="font-family:monospace, monospace" class="font">from matplotlib.backends.backend_agg import FigureCanvas</span><br></div><div><span style="font-family:monospace, monospace" class="font"></span><br></div><div><span style="font-family:monospace, monospace" class="font">fig = Figure()</span><br></div><div><span style="font-family:monospace, monospace" class="font">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="font"></span><br></div><div><span style="font-family:monospace, monospace" class="font">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="font">output = BytesIO()</span><br></div><div><span style="font-family:monospace, monospace" class="font">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="fastmail-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">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="fastmail-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">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">Matplotlib-users@python.org</a><br></div><div> <a rel="noreferrer" href="https://mail.python.org/mailman/listinfo/matplotlib-users">https://mail.python.org/mailman/listinfo/matplotlib-users</a><br></div></blockquote></div><div><br></div><div><br></div><div>-- <br></div><div class="fastmail-quoted-gmail_signature" dir="ltr"><div>Thomas Caswell<br></div><div><a href="mailto:tcaswell@gmail.com">tcaswell@gmail.com</a><br></div></div></blockquote><div><br></div></body></html>