Để hiển thị biểu đồ Matplotlib trong ứng dụng Flask:
- Tạo ứng dụng Flask nhỏ.
- Chạy ứng dụng: export FLASK_APP=file.py && flask run.
- Truy cập URL: https://127.0.0.1:5000/print-plot/
- Tạo dữ liệu x, y ngẫu nhiên.
- Vẽ đồ thị trên trục.
- Ghi figure vào định dạng PNG trong BytesIO.
- Trả về Response với mimetype image/png.
Ví dụ
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')
Kết quả
Hiển thị biểu đồ PNG được tạo động trong trình duyệt qua Flask.