「responseを用いて行う」というのは、以下のような事でしょうか。
(numpyとかmatplotlibとかは知らないので、tiitoiさんのプログラムから盗、拝借します)
python
1# coding: utf-8
2
3import io, urllib.parse
4from flask import Flask, make_response, Response, abort, request
5import numpy as np
6from matplotlib import pyplot as plt
7
8app = Flask(__name__)
9
10@app.route('/')
11def index():
12 start = -10
13 stop = 10
14 num = 100
15 return '''<!DOCTYPE html>
16<html>
17<body>
18<p>Hello, world!</p>
19<img src="./graph" />
20</body>
21</html>
22'''
23
24@app.route('/graph')
25def graph():
26 start, stop, num = -10, 10, 100
27 # 「<img src="./graph?start=%2d10&stop=10&num=100" />」というように、
28 # パラメータを渡して指定する事も可。
29 #try:
30 # start = int(request.args.get('start'))
31 # stop = int(request.args.get('stop'))
32 # num = int(request.args.get('num'))
33 #except:
34 # abort(404)
35 x = np.linspace(start, stop, num)
36 y = x ** 2
37
38 fig, ax = plt.subplots()
39 ax.plot(x, y)
40 ax.set_title('Title', c='darkred', size='large')
41 with io.BytesIO() as f:
42 fig.savefig(f, format='png')
43 data = f.getvalue()
44
45 return make_response(Response(data, mimetype='image/png'))
46
47if __name__ == '__main__':
48 app.run(debug=True)
49
50