[python] Flask를 이용한 데이터 시각화 및 차트 생성 방법

Flask는 파이썬으로 웹 애플리케이션을 구축하기 위한 경량 프레임워크입니다. 이 블로그 포스트에서는 Flask를 사용하여 데이터 시각화 및 차트를 생성하는 방법을 살펴보겠습니다.

데이터 시각화를 위한 Flask 및 plotly

Flask와 plotly를 결합하여 데이터 시각화 및 차트를 생성할 수 있습니다. plotly는 인터랙티브한 차트를 생성하기 위한 강력한 라이브러리로, Flask와 함께 사용하면 웹 애플리케이션에 다양한 차트를 통합할 수 있습니다.

먼저 Flask와 plotly를 설치합니다.

$ pip install Flask plotly

Flask 애플리케이션 구축

다음은 간단한 Flask 애플리케이션의 예시입니다.

from flask import Flask, render_template
import plotly
import plotly.graph_objs as go

app = Flask(__name__)

@app.route('/')
def index():
    data = [
        go.Bar(
            x=['Apple', 'Banana', 'Grapes'],
            y=[10, 5, 20]
        )
    ]

    graphJSON = plotly.offline.plot(data, output_type='json', auto_open=False)
    return render_template('index.html', graphJSON=graphJSON)

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

HTML 템플릿에 차트 삽입

애플리케이션의 루트 경로에 해당하는 HTML 템플릿 파일(index.html)에는 생성한 차트를 삽입할 수 있습니다.


<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Chart</title>
    {{ graphJSON | safe }}
</head>
<body>
    <div id="chart"></div>
</body>
</html>

위 예제에서는 plotly에서 생성한 JSON 형식의 차트를 템플릿에 삽입하여 화면에 표시할 수 있습니다.

결론

Flask와 plotly를 조합하면 간단하고 효과적으로 데이터 시각화 및 인터랙티브한 차트를 웹 애플리케이션에 통합할 수 있습니다. 이를 통해 사용자들은 직관적이고 효과적인 시각적 표현을 통해 데이터를 이해하고 상호작용할 수 있습니다.

참고문헌: