Indeed, it works also for me with Python 3.3.5. Could you explain the changes you made and the reasons behind the byte/string encoding ?
Best regards, 2014-11-01 17:21 GMT+01:00 Scott Lasley <slas...@space.umd.edu>: > This works for me with python 3.4.2 > > import matplotlib.pyplot as plt > from io import BytesIO > import base64 > > fig = plt.figure() > ax = fig.add_subplot(111) > ax.plot([1,2,3]) > > sio = BytesIO() > > fig.savefig(sio, format="png") > > html = """<html><body> > <img src="data:image/png;base64,{}"/> > </body></html>""".format(base64.encodebytes(sio.getvalue()).decode()) > > > For python 2.7.8 change html =""" to > > html = """<html><body> > <img src="data:image/png;base64,%s"/> > </body></html>""" % base64.encodestring(sio.getvalue()) > > Best regards, > Scott > > > On Nov 1, 2014, at 7:37 AM, Julien Hillairet <julien.hillai...@gmail.com> > wrote: > > > Dear all, > > I'm trying to write a html page content in which a png figure is > generated by matplotlib, with Python3. > > However, the following piece of code does not work with > matplotlib/Python3 (while it should work with Python2). The error is the > following on > > TypeError: string argument expected, got 'bytes' > > when on fig.savefig(sio, format="png") > > Could someone explain me how to do it ? > > Best regards, > > Julien > > > > -------------------------------------------- > > > > import matplotlib.pyplot as plt > > > > from io import StringIO > > fig = plt.figure() > > ax = fig.add_subplot(111) > > ax.plot([1,2,3]) > > > > sio = StringIO() > > > > fig.savefig(sio, format="png") > > > > html = """<html><body> > > ...a bunch of text and html here... > > <img src="data:image/png;base64,%s"/> > > ...more text and html... > > </body></html>""" % sio.getvalue().strip() > > > > > ------------------------------------------------------------------------------ > >
------------------------------------------------------------------------------
_______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users