[python] Bokeh를 이용한 공간 데이터 시각화

공간 데이터는 지리적인 정보를 가지고 있는 데이터로, 이를 시각화하는 것은 중요한 요소입니다. Bokeh는 Python 기반의 시각화 도구 중 하나로, 인터랙티브하고 멋진 공간 데이터 시각화를 제공합니다.

이 글에서는 Bokeh를 사용하여 공간 데이터를 시각화하는 방법에 대해 알아보겠습니다.

Bokeh란?

Bokeh는 웹 브라우저에서 실행되는 인터랙티브한 시각화를 제공하는 오픈 소스 라이브러리입니다. Bokeh를 사용하면 네트워크, 지리 정보, 시계열 등 다양한 유형의 데이터를 시각화할 수 있습니다.

Bokeh 설치하기

먼저 Bokeh를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install bokeh

공간 데이터 시각화하기

이제 Bokeh를 사용하여 공간 데이터를 시각화해보겠습니다. 예를 들어, 한 도시의 공원 위치를 시각화하는 예제를 살펴보겠습니다.

from bokeh.plotting import figure, show
from bokeh.tile_providers import get_provider
from bokeh.io import output_notebook, output_file

output_notebook()  # Jupyter Notebook에서 Bokeh 출력

# 공원 위치 데이터
park_data = {
    'name': ['Park A', 'Park B', 'Park C'],
    'latitude': [37.50, 37.51, 37.52],
    'longitude': [127.00, 127.01, 127.02]
}

# 타일 프로바이더 설정
tile_provider = get_provider('CARTODBPOSITRON')

# Figure 생성
p = figure(x_range=(126.90, 127.10), y_range=(37.40, 37.60),
           x_axis_type="mercator", y_axis_type="mercator")
p.add_tile(tile_provider)  # 타일 지도 추가

# 공원 위치 표시
p.circle(x=park_data['longitude'], y=park_data['latitude'], size=10)

show(p)  # Bokeh 그래프 출력

위 코드에서는 Bokeh의 figure 클래스를 사용하여 그래프를 생성하고, tile_providers 모듈에서 get_provider 함수를 사용하여 배경 지도를 설정합니다. 이후 circle 함수를 사용하여 공원의 위치를 표시합니다.

결과 확인하기

위 코드를 실행하면 공원 위치가 나타나는 Bokeh 그래프가 출력됩니다. 마우스로 그래프를 드래그하거나 확대/축소할 수 있습니다. 그림을 클릭하면 공공지도 등의 배경지도를 선택할 수도 있습니다.

Bokeh를 사용하면 공간 데이터를 시각적으로 표현할 수 있으며, 유연하고 인터랙티브한 시각화를 제공합니다.

결론

이 글에서는 Bokeh를 사용하여 공간 데이터를 시각화하는 방법에 대해 알아보았습니다. Bokeh를 사용하면 다양한 지도와 데이터를 활용하여 인터랙티브하고 멋진 시각화를 만들 수 있습니다. Bokeh의 다양한 기능과 옵션을 활용하여 공간 데이터 시각화에 대한 더 많은 탐구와 실험을 해보세요!

참고 자료