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

파이썬 Bokeh 라이브러리로 그리드 플롯(Grid Plot) 만드는 방법

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

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

Bokeh의 의존성 패키지

Numpy
Pillow
Jinja2
Packaging
Pyyaml
Six
Tornado
Python-dateutil

Bokeh 설치 방법

Windows 명령 프롬프트에서 설치하는 경우:

pip3 install bokeh

Anaconda 프롬프트에서 설치하는 경우:

conda install bokeh

예제 코드

import numpy as np

from bokeh.plotting import figure, output_file, show

N = 420
x = np.linspace(0, 14, N)
y = np.linspace(0, 14, N)
x1, y1 = np.meshgrid(x, y)
d = np.sin(x1)*np.cos(y1)

p = figure(tooltips=[("x", "$x"), ("y", "$y"), ("value", "@image")])
p.x_range.range_padding = p.y_range.range_padding = 0

p.image(image=[d], x=0, y=0, dw=11, dh=11, palette="Spectral11", level="image")
p.grid.grid_line_width = 0.6

output_file("gridplot.html", title="grid plot example")

show(p)

실행 결과

파이썬 Bokeh 라이브러리로 그리드 플롯(Grid Plot) 만드는 방법

코드 설명

  • 필요한 패키지들을 임포트하고 별칭(alias)을 지정합니다.
  • figure 함수를 호출하여 플롯 객체를 생성합니다.
  • NumPy 라이브러리를 사용해 데이터를 정의합니다. linspace와 meshgrid를 활용해 격자 형태의 좌표 값을 만들고, sin과 cos 함수를 조합한 값 배열을 생성합니다.
  • 'output_file' 함수를 호출하여 생성될 HTML 파일의 이름을 지정합니다.
  • Bokeh에서 제공하는 'image' 함수에 데이터를 전달하여 이미지 형태의 그리드 플롯을 그립니다. palette 옵션으로 'Spectral11' 색상 팔레트를 적용했습니다.
  • 'show' 함수를 호출하여 완성된 플롯을 화면에 표시합니다.

이처럼 Bokeh를 활용하면 몇 줄의 코드만으로도 인터랙티브한 그리드 플롯을 손쉽게 구현할 수 있으며, 생성된 HTML 파일은 웹 브라우저에서 바로 확인할 수 있습니다.