I'm playing with Flask and Python 3.5. I want to show a matplotplib chart on a website. I found this example https://gist.github.com/wilsaj/862153
I made minor modifications to the StringIO part since I'm using 3.5 version of Python.
@bp.route("/simple.png")
def simple():
    import datetime
    import io
    import numpy as np
    import random
    from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
    from matplotlib.figure import Figure
    from matplotlib.dates import DateFormatter
    fig=Figure()
    ax=fig.add_subplot(111)
    x=[]
    y=[]
    now=datetime.datetime.now()
    delta=datetime.timedelta(days=1)
    for i in range(10):
        x.append(now)
        now+=delta
        y.append(random.randint(0, 1000))
    ax.plot_date(x, y, '-')
    ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))
    fig.autofmt_xdate()
    canvas=FigureCanvas(fig)
    png_output = io.BytesIO()
    png_output_text = np.genfromtxt(png_output, delimiter=",")
    canvas.print_png(png_output_text)
    response=make_response(png_output_text.getvalue())
    response.headers['Content-Type'] = 'image/png'
    return response
Error I'm receiving:
Traceback (most recent call last):
  File "c:\proofdevelopment\flask\flask\app.py", line 1988, in wsgi_app
    response = self.full_dispatch_request()
  File "c:\proofdevelopment\flask\flask\app.py", line 1641, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "c:\proofdevelopment\flask\flask\app.py", line 1544, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "c:\proofdevelopment\flask\flask\_compat.py", line 33, in reraise
    raise value
  File "c:\proofdevelopment\flask\flask\app.py", line 1639, in full_dispatch_request
    rv = self.dispatch_request()
  File "c:\proofdevelopment\flask\flask\app.py", line 1625, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "C:\ProofDevelopment\flask\examples\flaskr\flaskr\blueprints\flaskr.py", line 107, in simple
    canvas.print_png(png_output_text)
  File "C:\Users\nmartinez\AppData\Local\Continuum\miniconda3\envs\py35\lib\site-packages\matplotlib\backends\backend_agg.py", line 526, in print_png
    self.figure.dpi, metadata=metadata)
TypeError: Object does not appear to be a 8-bit string path or a Python file-like object
I just want to run that 'simple' example and I haven't been able to :(
 
     
    
 
     
     
    