Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

จะแสดง Matplotlib ใน Flask ได้อย่างไร


เพื่อแสดงพล็อตใน Flask เราสามารถทำตามขั้นตอนต่อไปนี้:

  • สร้างแอปพลิเคชันขนาดเล็ก
  • หากต้องการเรียกใช้แอปพลิเคชัน Flask ให้ไปที่ไดเร็กทอรีปัจจุบัน
  • $ ส่งออก FLASK_APP=file.py
  • เรียกใช้ขวด $$
  • เปิดเบราว์เซอร์ กด url:https://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')

ผลลัพธ์

จะแสดง Matplotlib ใน Flask ได้อย่างไร