Introducción
Este laboratorio de tutorial te guiará a través del uso de Matplotlib en un servidor de aplicaciones web Flask. Aprenderás cómo crear figuras utilizando el constructor .Figure y guardarlas en búferes en memoria, incrustar las figuras resultantes en la salida HTML y ejecutar la aplicación Flask utilizando la herramienta de línea de comandos flask.
Consejos sobre la VM
Una vez finalizada la inicialización de la VM, haz clic en la esquina superior izquierda para cambiar a la pestaña Cuaderno y acceder a Jupyter Notebook para practicar.
A veces, es posible que tengas que esperar unos segundos a que Jupyter Notebook termine de cargarse. La validación de operaciones no puede automatizarse debido a las limitaciones de Jupyter Notebook.
Si te encuentras con problemas durante el aprendizaje, no dudes en preguntar a Labby. Proporciona retroalimentación después de la sesión y resolveremos rápidamente el problema para ti.
Instalar dependencias
Antes de comenzar, asegúrate de tener instalados los paquetes necesarios. Puedes instalarlos utilizando pip.
pip install matplotlib flask
Importar dependencias
En este paso, importaremos las dependencias necesarias. Usaremos base64 para codificar los datos de la imagen, BytesIO para almacenar los datos de la imagen en memoria, Flask para crear el servidor de aplicaciones web y Figure para crear las figuras.
import base64
from io import BytesIO
from flask import Flask
from matplotlib.figure import Figure
Crear la aplicación Flask
En este paso, crearemos la aplicación Flask. Definiremos una ruta para la página de inicio ("/") y una función para generar e incrustar la figura de Matplotlib.
app = Flask(__name__)
@app.route("/")
def home():
## Generar la figura **sin usar pyplot**.
fig = Figure()
ax = fig.subplots()
ax.plot([1, 2])
## Guardarla en un búfer temporal.
buf = BytesIO()
fig.savefig(buf, formato="png")
## Incrustar el resultado en la salida html.
data = base64.b64encode(buf.getbuffer()).decode("ascii")
return f"<img src='data:image/png;base64,{data}'/>"
Ejecutar la aplicación Flask
En este paso, ejecutaremos la aplicación Flask utilizando la herramienta de línea de comandos flask. Asumiendo que el directorio de trabajo contiene este script, ejecuta el siguiente comando para iniciar el servidor:
FLASK_APP=matplot_lib_tutorial_lab flask run
Ver la salida
En este paso, veremos la salida de la aplicación Flask navegando a http://localhost:5000/ en un navegador web. La figura de Matplotlib debería mostrarse en la página.
Resumen
En este laboratorio de tutorial, aprendimos cómo usar Matplotlib en un servidor de aplicaciones web Flask. Creamos una aplicación Flask, generamos una figura de Matplotlib, incrustamos la figura en la salida HTML y ejecutamos la aplicación Flask utilizando la herramienta de línea de comandos flask.