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

파이썬 Bokeh 라이브러리로 수평 막대 그래프(Horizontal Bar Plot) 그리는 방법

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

데이터 시각화는 숫자를 일일이 확인하거나 복잡한 계산을 수행하지 않고도 데이터 안에서 어떤 일이 일어나고 있는지 직관적으로 파악할 수 있게 해주는 중요한 과정입니다.

Bokeh는 NumPy, Pandas 등 다른 파이썬 패키지와 손쉽게 연동할 수 있으며, 인터랙티브한 플롯과 대시보드 제작에 폭넓게 활용됩니다. 이를 통해 정량적인 인사이트를 청중에게 효과적으로 전달할 수 있습니다.

Bokeh의 동작 원리와 특징

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

Matplotlib나 Seaborn이 정적(static) 플롯을 생성하는 것과 달리, Bokeh는 인터랙티브(interactive) 플롯을 생성합니다. 즉, 사용자가 플롯과 상호작용하면 그래프가 그에 맞게 반응하여 변화합니다.

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

Bokeh 의존성 패키지

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

Numpy
Pillow
Jinja2
Packaging
Pyyaml
Six
Tornado
Python-dateutil

Windows 명령 프롬프트에서 설치하기

pip3 install bokeh

Anaconda 프롬프트에서 설치하기

conda install bokeh

수평 막대 그래프 예제 코드

다음은 Bokeh의 hbar 함수를 사용해 수평 막대 그래프를 그리는 예제입니다.

from bokeh.plotting import figure, output_file, show

fig = figure(plot_width=400, plot_height=200)
fig.hbar(y=[2, 5, 9, 1], height=1, left=0, right=[1, 6, 3, 9], color="Cyan")

output_file('bar plot.html')
show(fig)

출력 결과

파이썬 Bokeh 라이브러리로 수평 막대 그래프(Horizontal Bar Plot) 그리는 방법

코드 설명

  • 필요한 패키지들을 임포트하고 별칭을 지정합니다.
  • figure 함수를 호출하면서 플롯의 너비와 높이를 전달합니다.
  • output_file 함수를 호출해 생성될 HTML 파일의 이름을 지정합니다.
  • Bokeh가 제공하는 hbar 함수를 데이터 포인트(y 좌표, 높이, 왼쪽·오른쪽 값, 색상)와 함께 호출해 수평 막대를 그립니다.
  • show 함수를 사용해 완성된 플롯을 화면에 표시합니다.