소개
이 튜토리얼 랩에서는 Flask 웹 애플리케이션 서버에서 Matplotlib 을 사용하는 방법을 안내합니다. .Figure 생성자를 사용하여 그림을 만들고, 이를 메모리 내 버퍼에 저장하고, 생성된 그림을 HTML 출력에 포함하고, flask 명령줄 도구를 사용하여 Flask 애플리케이션을 실행하는 방법을 배우게 됩니다.
VM 팁
VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 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
출력 보기
이 단계에서는 웹 브라우저에서 http://localhost:5000/로 이동하여 Flask 애플리케이션의 출력을 확인합니다. Matplotlib 그림이 페이지에 표시되어야 합니다.
요약
이 튜토리얼 랩에서는 Flask 웹 애플리케이션 서버에서 Matplotlib 을 사용하는 방법을 배웠습니다. Flask 애플리케이션을 생성하고, Matplotlib 그림을 생성하고, HTML 출력에 그림을 포함시키고, flask 명령줄 도구를 사용하여 Flask 애플리케이션을 실행했습니다.