Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Bokeh와 Python을 활용한 수직 막대 그래프 시각화 방법

Bokeh란 무엇인가?

Bokeh는 데이터 시각화를 돕는 파이썬 패키지로, 오픈 소스 프로젝트입니다. HTML과 JavaScript를 사용해 플롯을 렌더링하기 때문에 웹 기반 대시보드를 구축할 때 특히 유용합니다.

Bokeh는 NumPy, Pandas 등 다른 파이썬 패키지와도 손쉽게 연동할 수 있으며, 인터랙티브한 플롯과 대시보드를 제작하는 데 널리 활용됩니다.

Bokeh의 작동 원리

Bokeh는 데이터 소스를 JSON 파일로 변환합니다. 이 파일은 자바스크립트 라이브러리인 BokehJS의 입력값으로 사용되며, BokehJS는 TypeScript로 작성되어 최신 브라우저에서 시각화 결과를 렌더링하는 역할을 담당합니다.

Matplotlib나 Seaborn이 정적(static) 플롯을 생성하는 것과 달리, Bokeh는 인터랙티브한 플롯을 생성합니다. 즉, 사용자가 그래프와 상호작용하면 그에 따라 시각화 결과가 실시간으로 반응합니다.

또한 생성된 플롯은 Flask나 Django 기반 웹 애플리케이션의 출력물로 삽입할 수 있으며, Jupyter 노트북 환경에서도 렌더링이 가능합니다.

Bokeh 설치 및 의존성

Bokeh를 사용하기 위해 필요한 주요 의존성 패키지는 다음과 같습니다.

Numpy
Pillow
Jinja2
Packaging
Pyyaml
Six
Tornado
Python-dateutil

Windows 명령 프롬프트에서 Bokeh를 설치하려면 아래 명령어를 실행합니다.

pip3 install bokeh

Anaconda 환경에서 설치하는 경우에는 다음 명령어를 사용합니다.

conda install bokeh

수직 막대 그래프 예제 코드

다음은 Bokeh의 vbar 함수를 활용해 수직 막대 그래프를 그리는 예제입니다.

from bokeh.plotting import figure, output_file, show
fig = figure(plot_width = 400, plot_height = 400)
fig.vbar(x = [2,5,9,3], width = 0.5, bottom = 0, top = [2,4,6,8], color = "Cyan")
output_file('barplot.html')
show(fig)

실행 결과

Bokeh와 Python을 활용한 수직 막대 그래프 시각화 방법

코드 설명

  • 필요한 패키지들을 임포트하고 별칭(alias)을 지정합니다.
  • figure 함수를 호출하여 그래프의 기본 틀을 생성합니다.
  • 'output_file' 함수를 호출하여 생성될 HTML 파일의 이름을 지정합니다.
  • Bokeh에 내장된 'vbar' 함수를 데이터와 함께 호출하여 수직 막대를 그립니다.
  • 'show' 함수를 사용해 완성된 플롯을 화면에 표시합니다.