如何在 Flask 中显示 Matplotlib?
要在 Flask 中显示绘图,我们可以执行以下步骤−
- 创建一个小应用。
- 要运行 Flask 应用程序,请转到当前目录。
- $ export FLASK_APP=file.py
- $ flask run
- 打开浏览器,访问 URL: http://127.0.0.1:5000/print-plot/
- 为 x 和 y 创建数据点,使用随机数。
- 将数据点 x 和 y 绘制在创建的坐标轴上。
- 将图形以 png 格式写入文件。
- 检索 BytesIO 对象的全部内容。
示例
import io
from flask import Response
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
from flask import Flask
import numpy as np
plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
app = Flask(__name__)
@app.route('/print-plot')
def plot_png():
fig = Figure()
axis = fig.add_subplot(1, 1, 1)
xs = np.random.rand(100)
ys = np.random.rand(100)
axis.plot(xs, ys)
output = io.BytesIO()
FigureCanvas(fig).print_png(output)
return Response(output.getvalue(), mimetype='image/png')