[파이썬] Tornado에서의 데이터 시각화

데이터 시각화는 데이터의 패턴과 트렌드를 시각적으로 이해하는 데 도움이 되는 강력한 도구입니다. Tornado 웹 프레임워크를 사용하여 데이터 시각화를 구현하는 방법에 대해 알아보겠습니다.

필수 패키지 설치

데이터 시각화를 위해 matplotlibpandas와 같은 패키지를 설치해야 합니다. 다음 명령을 사용하여 필요한 패키지를 설치합니다:

pip install matplotlib pandas

데이터 준비

데이터 시각화를 위해 예제 데이터셋을 사용해 보겠습니다. CSV 형식의 파일을 data.csv라는 이름으로 저장합니다. 다음은 데이터의 예시입니다:

날짜,사용자
2022-01-01,100
2022-01-02,120
2022-01-03,80
2022-01-04,150
2022-01-05,90

데이터 시각화 예제

이제 Tornado를 사용하여 데이터 시각화 웹 애플리케이션을 작성해 보겠습니다.

import tornado.ioloop
import tornado.web
import matplotlib.pyplot as plt
import pandas as pd

class MainHandler(tornado.web.RequestHandler):
    def get(self):
        # 데이터 불러오기
        data = pd.read_csv('data.csv')
        
        # 그래프 생성
        fig, ax = plt.subplots()
        ax.plot(data['날짜'], data['사용자'])
        
        # 그래프를 이미지로 변환
        img_path = 'graph.png'
        plt.savefig(img_path)
        
        # HTML 응답 반환
        self.write(f'<img src="{img_path}">')

def make_app():
    return tornado.web.Application([
        (r"/", MainHandler),
    ])

if __name__ == "__main__":
    app = make_app()
    app.listen(8888)
    tornado.ioloop.IOLoop.current().start()

위의 코드에서 MainHandler 클래스는 / 경로로 요청이 들어오면 실행됩니다. 코드는 data.csv 파일을 로드하고, matplotlib을 사용하여 그래프를 생성합니다. 그래프는 PNG 이미지로 저장되고, 해당 이미지가 HTML 응답으로 반환됩니다.

실행 및 결과 확인

위의 코드를 app.py로 저장한 후, 터미널에서 다음 명령을 실행하여 웹 애플리케이션을 실행합니다:

python app.py

웹 브라우저에서 http://localhost:8888에 접속하여 그래프를 확인할 수 있습니다.

이처럼 Tornado를 사용하여 데이터 시각화 웹 애플리케이션을 구현할 수 있습니다. 데이터 시각화는 데이터 분석 및 의사 결정에 도움이 되는 가시성을 제공하므로 중요한 도구입니다. Tornado와 함께 사용하면 데이터 시각화를 손쉽게 구현할 수 있습니다.