How do I get Cherrypy to display a figure generated by matplotlib
?
This is my code so far, but it's generating a 404:
import cherrypy
import matplotlib
matplotlib.use("Agg")
import matplotlib.pyplot as plt
from io import BytesIO
class Root(object):
@cherrypy.expose
def index(self):
return """
<html>
<body>
<p>Yo!</p>
<form method="get" action="generate">
<p>Testerr</p>
Start: <input type="text" value="010115" name="start" />
<button type="submit">Go!</button>
</form>
<body>
<html>
"""
@cherrypy.expose
def generate(self, start):
cherrypy.response.headers['Content-Type'] = "image/png"
fig = plt.figure()
plt.plot([1,2,3,4])
figdata=BytesIO()
fig.savefig(figdata, format='png')
imdata = figdata.getvalue()
return imdata
cherrypy.config.update({
'environment': 'production',
'log.screen': False,
'server.socket_host': '127.0.0.1',
'server.socket_port': 18892,
})
cherrypy.quickstart(Root())