Bokeh는 파이썬 기반의 데이터 시각화 라이브러리로, 오픈소스 프로젝트로 공개되어 있습니다. Bokeh는 HTML과 JavaScript를 사용해 플롯을 렌더링하기 때문에 웹 기반 대시보드를 개발할 때 특히 유용합니다.
Matplotlib나 Seaborn이 정적인(static) 플롯을 생성하는 것과 달리, Bokeh는 인터랙티브한 플롯을 만들어냅니다. 즉, 사용자가 플롯과 상호작용하면 그에 맞춰 시각화 결과가 동적으로 변합니다.
또한 Bokeh로 만든 플롯은 Flask나 Django 기반 웹 애플리케이션에 임베딩할 수 있으며, Jupyter 노트북에서도 손쉽게 렌더링할 수 있습니다.
Bokeh의 주요 의존성 패키지
Numpy
Pillow
Jinja2
Packaging
Pyyaml
Six
Tornado
Python-dateutil
Windows 명령 프롬프트에서 설치
pip3 install bokeh
Anaconda 프롬프트에서 설치
conda install bokeh
그럼 실제 예제를 통해 패치 플롯을 그려보겠습니다.
예제 코드
from bokeh.plotting import figure, output_file, show
p = figure(plot_width = 400, plot_height = 200)
p.patch(x = [4, 8, 5, 7], y = [2,3,5,2], color = "green")
output_file('patchplot.html')
show(p)
실행 결과
위 코드를 실행하면 지정된 좌표값들을 연결한 초록색 사각형 형태의 패치가 HTML 파일로 출력됩니다.
코드 설명
- 필요한 패키지들을 불러와 별칭(alias)을 지정합니다.
- 'figure' 함수를 호출하여 플롯의 기본 틀(너비 400, 높이 200)을 생성합니다.
- 'output_file' 함수를 호출해 생성될 HTML 파일의 이름을 지정합니다.
- Bokeh에 내장된 'patch' 함수를 데이터(x, y 좌표)와 함께 호출하여 다각형 패치를 그립니다.
- 'show' 함수를 사용해 완성된 플롯을 화면에 표시합니다.