Web 应用程序服务器 Sgskip

Beginner

This tutorial is from open-source community. Access the source code

简介

本实验教程将指导你在 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 应用程序。