[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를 조합하면 간단하고 효과적으로 데이터 시각화 및 인터랙티브한 차트를 웹 애플리케이션에 통합할 수 있습니다. 이를 통해 사용자들은 직관적이고 효과적인 시각적 표현을 통해 데이터를 이해하고 상호작용할 수 있습니다.
참고문헌:
- https://flask.palletsprojects.com/
- https://plotly.com/python/
- https://github.com/plotly/plotly.js/