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

Python과 Bokeh로 축 정렬 사각형(Quad)을 시각화하는 방법

Bokeh란 무엇인가?

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

Bokeh는 데이터 소스를 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 명령 프롬프트에서 Bokeh를 설치하려면 다음 명령어를 실행합니다.

pip3 install bokeh

Anaconda 환경에서는 아래 명령어를 사용합니다.

conda install bokeh

축 정렬 사각형(Axis-Aligned Rectangle)이란?

축 정렬된 사각형은 'quad'라고도 부르며, 글리프(glyph) 함수인 quad 함수에 왼쪽(left), 오른쪽(right), 위(top), 아래(bottom) 위치 값을 지정하여 간단히 그릴 수 있습니다.

예제 코드

from bokeh.plotting import figure, output_file, show

output_file('alignedRect.html')

p = figure(width=500, height=300)
p.quad(top=[5, 8, 3, 0], bottom=[1, 2, 3, 9], left=[1, 2, 3, 9],
    right=[1.5, 2.2, 3.9, 9.5], color="#B3DE69")
show(p)

실행 결과

위 코드를 실행하면 'alignedRect.html' 파일이 생성되고, 브라우저에 지정된 좌표에 따라 네 개의 연두색(#B3DE69) 사각형이 그려진 인터랙티브 플롯이 표시됩니다.

코드 설명

  • 필요한 패키지(figure, output_file, show)를 임포트합니다.

  • output_file 함수를 호출하여 생성될 HTML 파일의 이름을 지정합니다.

  • figure 함수에 플롯의 가로(width)와 세로(height) 크기를 전달하여 도화지 역할을 하는 figure 객체를 생성합니다.

  • Bokeh의 quad 함수에 top, bottom, left, right 좌표 리스트와 색상을 전달하여 축 정렬된 사각형을 그립니다.

  • show 함수를 호출해 완성된 플롯을 브라우저에 표시합니다.