[python] Matplotlib 웹 애플리케이션 만들기

이번 포스트에서는 Python의 Matplotlib 라이브러리를 사용하여 웹 애플리케이션을 만드는 방법에 대해 알아보겠습니다.

1. 개요

Matplotlib는 Python에서 데이터 시각화를 위한 강력한 도구로 알려져 있습니다. 보통은 그래프를 이미지 파일로 저장하여 사용하거나 화면에 출력하는 방식으로 활용되지만, 웹 애플리케이션에서 실시간으로 그래프를 보여주는 기능도 가능합니다. 이를 위해 Matplotlib를 사용하여 웹 애플리케이션을 만들어보도록 하겠습니다.

2. 준비물

이번 튜토리얼을 따라하기 위해서는 다음과 같은 준비물이 필요합니다:

3. 웹 애플리케이션 구성

다음과 같은 단계로 Matplotlib를 사용한 웹 애플리케이션을 구성할 수 있습니다.

3.1 Flask 프로젝트 생성

우선, Flask 프로젝트를 생성해야 합니다. 다음과 같은 명령을 실행하여 Flask 프로젝트를 생성합니다.

$ mkdir matplotlib-web-app
$ cd matplotlib-web-app
$ python3 -m venv venv
$ source venv/bin/activate
$ pip install Flask

3.2 Flask 애플리케이션 생성

app.py라는 파일을 생성하고 아래의 코드를 작성합니다.

from flask import Flask, render_template
import matplotlib.pyplot as plt
import numpy as np

app = Flask(__name__)

@app.route('/')
def index():
    x = np.linspace(0, 5, 100)
    y = np.sin(x)

    plt.plot(x, y)
    plt.xlabel('X')
    plt.ylabel('Y')
    plt.title('Sin Plot')
    plt.grid(True)
    plt.savefig('static/plot.png')

    return render_template('index.html')

if __name__ == '__main__':
    app.run()

3.3 HTML 템플릿 작성

Flask 애플리케이션의 루트 디렉토리에 templates 폴더를 생성하고, index.html라는 파일을 생성하여 아래의 코드를 작성합니다.

<!DOCTYPE html>
<html>
<head>
    <title>Matplotlib Web App</title>
</head>
<body>
    <h1>Matplotlib Web App</h1>
    <img src="" alt="Sin Plot">
</body>
</html>

3.4 애플리케이션 실행

터미널에서 다음 명령을 실행하여 Flask 애플리케이션을 실행합니다.

$ python app.py

웹 브라우저에서 http://localhost:5000에 접속하면 실시간으로 생성된 그래프가 보여집니다.

4. 결론

이번 포스트에서는 Python의 Matplotlib 라이브러리를 사용하여 웹 애플리케이션을 만드는 방법에 대해 알아보았습니다. Matplotlib를 통해 실시간 그래프를 웹 애플리케이션에 통합할 수 있으며, 데이터 시각화에 많은 도움이 될 것입니다. 자세한 내용은 Matplotlib와 Flask의 공식 문서를 참고하시기 바랍니다.

참고 자료: