[파이썬] bokeh 웹 앱에 `bokeh` 그래프 포함하기

Bokeh는 파이썬으로 개발된 시각화 도구로, 웹 기반의 대화형 그래프를 손쉽게 생성할 수 있습니다. Bokeh를 사용하여 웹 앱에 그래프를 포함하는 방법을 알아보겠습니다.

Bokeh 설치

먼저, Bokeh를 설치해야 합니다. 아래의 명령어를 사용하여 Bokeh를 설치할 수 있습니다.

pip install bokeh

Bokeh 그래프 생성하기

Bokeh를 사용하여 그래프를 생성하는 방법을 살펴보겠습니다. 아래의 코드는 Bokeh를 사용하여 간단한 선 그래프를 그리는 예제입니다.

from bokeh.plotting import figure, output_file, show

# 그래프 출력을 위한 HTML 파일 생성
output_file("graph.html")

# 그래프 생성
p = figure(title="Bokeh 그래프", x_axis_label='X축', y_axis_label='Y축')

# 데이터 추가
x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]
p.line(x, y, legend_label="선 그래프", line_width=2)

# 그래프 표시
show(p)

위의 코드를 실행하면 “graph.html” 파일이 생성되고, 웹 브라우저에서 해당 파일을 열면 그래프를 확인할 수 있습니다.

Bokeh 그래프를 웹 앱에 포함하기

Bokeh를 사용하여 생성한 그래프를 웹 앱에 포함하는 방법을 알아보겠습니다.

from bokeh.plotting import figure
from bokeh.embed import components
from flask import Flask, render_template

app = Flask(__name__)

@app.route("/")
def index():
    # 그래프 생성
    p = figure(title="Bokeh 그래프", x_axis_label='X축', y_axis_label='Y축')

    # 데이터 추가
    x = [1, 2, 3, 4, 5]
    y = [6, 7, 2, 4, 5]
    p.line(x, y, legend_label="선 그래프", line_width=2)

    # Bokeh 그래프를 HTML로 변환
    script, div = components(p)

    # index.html 템플릿 렌더링
    return render_template("index.html", script=script, div=div)

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

위의 예제에서는 Flask를 사용하여 간단한 웹 앱을 만들고, Bokeh 그래프를 포함하고 있습니다. components 함수를 사용하여 Bokeh 그래프를 HTML 문자열로 변환하고, 이를 웹 페이지에 포함시킬 수 있습니다.

Conclusion

이제 Bokeh를 사용하여 Bokeh 그래프를 웹 앱에 포함하는 방법을 알아보았습니다. Bokeh는 파이썬으로 웹 기반의 대화형 그래프를 쉽게 만들 수 있는 강력한 도구입니다. 웹 개발 프로젝트에서 데이터 시각화가 필요한 경우 Bokeh를 사용하여 효과적인 그래프를 생성하고 웹 앱에 포함시킬 수 있습니다.