[파이썬] bokeh 동적으로 데이터 추가 및 제거하기

Bokeh은 파이썬에서 데이터 시각화를 위한 강력한 라이브러리입니다. Bokeh을 사용하면 인터랙티브한 그래프와 차트를 만들 수 있으며, 웹 브라우저에서 보여줄 수 있습니다. 이번 블로그 포스트에서는 Bokeh을 활용하여 동적으로 데이터를 추가하고 제거하는 방법을 알아보겠습니다.

Bokeh 설치하기

먼저 Bokeh을 설치해야 합니다. 설치 방법은 여러 가지가 있지만, 가장 쉬운 방법은 pip를 사용하는 것입니다. 아래의 명령어를 터미널에서 실행하여 Bokeh을 설치하세요.

pip install bokeh

라이브러리 임포트하기

Bokeh을 사용하기 위해 필요한 라이브러리를 임포트합니다.

from bokeh.plotting import figure, show
from bokeh.models import ColumnDataSource

데이터 추가 및 제거하기

데이터를 동적으로 추가하고 제거하기 위해서는 ColumnDataSource를 사용해야 합니다. ColumnDataSource는 Bokeh에서 데이터를 담는 객체로, 이를 통해 그래프나 차트에 데이터를 업데이트할 수 있습니다.

아래는 데이터를 추가하고 제거하는 간단한 예제 코드입니다.

# 초기 데이터 설정
data = {'x': [1, 2, 3, 4, 5],
        'y': [6, 7, 2, 4, 5]}

# ColumnDataSource 객체 생성
source = ColumnDataSource(data=data)

# 그래프 설정
p = figure()
p.circle(x='x', y='y', source=source)

# 그래프 보여주기
show(p)

# 데이터 추가
new_data = {'x': [6, 7, 8],
            'y': [9, 4, 7]}
source.data = {key: source.data[key] + new_data[key] for key in source.data}

# 데이터 제거
source.data = {key: source.data[key][1:] for key in source.data}

위의 예제 코드에서는 초기 데이터로 x와 y값을 설정하고, ColumnDataSource 객체를 생성합니다. 이후에는 p 변수를 통해 그래프를 설정하고, show 함수를 호출하여 그래프를 웹 브라우저에서 보여줍니다.

그리고 데이터를 추가하기 위해서는 new_data 변수를 생성하고, source.data의 값을 업데이트하여 데이터를 추가합니다. 데이터를 제거하기 위해서는 source.data의 값을 슬라이싱하여 원하는 범위의 데이터만 남기면 됩니다.

결론

Bokeh을 사용하면 파이썬으로 인터랙티브한 그래프를 쉽게 만들 수 있습니다. 이번 포스트에서는 Bokeh을 사용하여 데이터를 동적으로 추가하고 제거하는 방법을 알아보았는데, 이를 통해 보다 다양하고 유연한 데이터 시각화를 구현할 수 있을 것입니다. Bokeh의 자세한 사용법은 공식 문서를 참고해 보세요.