[파이썬] `bokeh` 서버 사용법

Bokeh는 파이썬으로 작성된 데이터 시각화 라이브러리로, 웹 기반의 대화형 시각화를 제공합니다. Bokeh 서버는 이러한 대화형 시각화를 공유하고 배포하기 위해 사용될 수 있습니다. 이 블로그 포스트에서는 Bokeh 서버의 기본 사용법을 알아보겠습니다.

Bokeh 서버란?

Bokeh 서버는 Bokeh 라이브러리의 일부로 제공되며, 웹 어플리케이션 형태로 Bokeh 시각화를 제공합니다. Bokeh 서버를 사용하면 다양한 사용자 입력에 따라 시각화를 실시간으로 업데이트하고, 자바스크립트 콜백 함수와 함께 동적인 시각화를 구현할 수 있습니다.

Bokeh 서버 설치

Bokeh 서버를 사용하기 위해서는 Bokeh 라이브러리가 설치되어 있어야 합니다. 다음 명령어를 사용하여 Bokeh를 설치해주세요.

pip install bokeh

Bokeh 서버 실행

Bokeh 서버 실행은 bokeh serve 명령어를 사용하여 수행할 수 있습니다. 실행하려는 Bokeh 어플리케이션의 파일 경로를 지정해주면 됩니다.

bokeh serve myapp.py

Bokeh 서버의 작동 방식

Bokeh 서버는 다음과 같은 작동 방식을 가지고 있습니다.

  1. Bokeh 어플리케이션을 실행하면, Bokeh 서버에 의해 호스팅됩니다.
  2. 사용자는 웹 브라우저를 통해 Bokeh 어플리케이션에 접속합니다.
  3. 사용자는 입력을 통해 상호작용을 할 수 있으며, 요청을 보내고 받을 수 있습니다.
  4. Bokeh 서버는 사용자의 입력을 처리하고, 시각화를 업데이트합니다.
  5. 사용자는 웹 브라우저에서 업데이트된 시각화를 확인할 수 있습니다.

Bokeh 서버 예제

다음은 간단한 Bokeh 서버 예제 코드입니다.

from bokeh.io import curdoc
from bokeh.plotting import figure
from bokeh.layouts import column
from bokeh.models import Select

# 데이터 생성
x = [1, 2, 3, 4, 5]
y = [6, 7, 2, 4, 5]

# 시각화 생성
plot = figure(title='Bokeh 서버 예제', plot_width=400, plot_height=400)
plot.line(x, y)

# Select 위젯 생성
select = Select(title='라인 스타일', value='solid', options=['solid', 'dashed', 'dotted'])

# 콜백 함수 정의
def update_line_style(attr, old, new):
    line_style = new
    plot.line(x, y, line_dash=line_style)

# 콜백 함수를 Select 위젯에 등록
select.on_change('value', update_line_style)

# 레이아웃 생성
layout = column(select, plot)

# Bokeh 서버에 레이아웃 등록
curdoc().add_root(layout)

위 예제 코드는 Bokeh를 사용하여 간단한 선 그래프를 생성하고, Select 위젯을 통해 선 스타일을 선택할 수 있도록 합니다. 사용자가 선 스타일을 선택하면, 선택한 스타일에 따라 선 그래프가 업데이트되는 예제입니다.

Bokeh 서버를 실행하고 웹 브라우저를 통해 해당 어플리케이션을 확인해보세요.

마무리

이 블로그 포스트에서는 Bokeh 서버의 기본 사용법에 대해 알아보았습니다. Bokeh 서버를 사용하면 웹 기반의 대화형 시각화를 제공할 수 있으며, 사용자의 입력에 따라 실시간으로 시각화를 업데이트할 수 있습니다. Bokeh 서버를 활용하여 다양한 시각화 어플리케이션을 개발해보세요.