Введение
В этом практическом занятии вы научитесь использовать Matplotlib в сервере веб-приложения Flask. Вы узнаете, как создавать графики с использованием конструктора .Figure и сохранять их в буферы памяти, встраивать полученные графики в HTML-вывод и запускать веб-приложение Flask с использованием командной строки flask.
Советы по работе с ВМ
После запуска виртуальной машины кликните в левом верхнем углу, чтобы переключиться на вкладку Ноутбук и получить доступ к Jupyter Notebook для практики.
Иногда вам может потребоваться подождать несколько секунд, пока Jupyter Notebook не загрузится полностью. Валидация операций не может быть автоматизирована из-за ограничений Jupyter Notebook.
Если вы столкнетесь с проблемами во время обучения, не стесняйтесь обращаться к Labby. Оставьте отзыв после занятия, и мы оперативно решим проблему для вас.
Установка зависимостей
Прежде чем мы начнем, убедитесь, что у вас установлены необходимые пакеты. Вы можете установить их с помощью pip.
pip install matplotlib flask
Импорт зависимостей
В этом шаге мы импортируем необходимые зависимости. Мы будем использовать base64 для кодирования данных изображения, BytesIO для хранения данных изображения в памяти, Flask для создания сервера веб-приложения и 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():
## Generate the figure **without using pyplot**.
fig = Figure()
ax = fig.subplots()
ax.plot([1, 2])
## Save it to a temporary buffer.
buf = BytesIO()
fig.savefig(buf, format="png")
## Embed the result in the html output.
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
Просмотр результата
В этом шаге мы будем просматривать результат работы веб-приложения Flask, перейдя по адресу http://localhost:5000/ в веб-браузере. На странице должен быть отображен график Matplotlib.
Резюме
В этом практическом занятии мы узнали, как использовать Matplotlib в сервере веб-приложения Flask. Мы создали веб-приложение Flask, сгенерировали график Matplotlib, встроили его в выходной HTML и запустили веб-приложение Flask с использованием командной строки flask.