简介
本实验教程将指导你在 Flask Web 应用服务器中使用 Matplotlib。你将学习如何使用.Figure构造函数创建图形并将其保存到内存缓冲区,将生成的图形嵌入 HTML 输出中,以及使用flask命令行工具运行 Flask 应用程序。
虚拟机提示
虚拟机启动完成后,点击左上角切换到笔记本标签以访问 Jupyter Notebook 进行练习。
有时,你可能需要等待几秒钟让 Jupyter Notebook 完成加载。由于 Jupyter Notebook 的限制,操作验证无法自动化。
如果你在学习过程中遇到问题,请随时向 Labby 提问。课程结束后提供反馈,我们将立即为你解决问题。
安装依赖项
在开始之前,请确保你已安装必要的软件包。你可以使用 pip 进行安装。
pip install matplotlib flask
导入依赖项
在这一步中,我们将导入必要的依赖项。我们将使用base64对图像数据进行编码,使用BytesIO将图像数据存储在内存中,使用Flask创建 Web 应用服务器,并使用Figure创建图形。
import base64
from io import BytesIO
from flask import Flask
from matplotlib.figure import Figure
创建 Flask 应用程序
在这一步中,我们将创建 Flask 应用程序。我们将为主页("/")定义一个路由,并定义一个用于生成和嵌入 Matplotlib 图形的函数。
app = Flask(__name__)
@app.route("/")
def home():
## 不使用 pyplot 生成图形。
fig = Figure()
ax = fig.subplots()
ax.plot([1, 2])
## 将其保存到临时缓冲区。
buf = BytesIO()
fig.savefig(buf, format="png")
## 将结果嵌入到 html 输出中。
data = base64.b64encode(buf.getbuffer()).decode("ascii")
return f"<img src='data:image/png;base64,{data}'/>"
运行 Flask 应用程序
在这一步中,我们将使用flask命令行工具运行 Flask 应用程序。假设工作目录包含此脚本,运行以下命令启动服务器:
FLASK_APP=matplot_lib_tutorial_lab flask run
查看输出
在这一步中,我们将通过在网页浏览器中访问 http://localhost:5000/ 来查看 Flask 应用程序的输出。Matplotlib 图形应该会显示在页面上。
总结
在本实验教程中,我们学习了如何在 Flask Web 应用程序服务器中使用 Matplotlib。我们创建了一个 Flask 应用程序,生成了一个 Matplotlib 图形,将该图形嵌入到 HTML 输出中,并使用flask命令行工具运行了 Flask 应用程序。