여행 데이터를 시각화하여 보여주는 것은 다양한 인사이트를 얻을 수 있는 훌륭한 방법입니다. 이번에는 Bokeh라는 파이썬 라이브러리를 사용하여 여행 데이터를 인터랙티브하게 시각화하는 방법을 알아보겠습니다.
Bokeh 소개
Bokeh는 파이썬 기반의 데이터 시각화 라이브러리로, 웹 브라우저 상에서 인터랙티브한 그래프를 제공합니다. Bokeh는 다양한 형식의 시각화를 지원하며, 여행 데이터의 경우 지도, 선 그래프, 막대 그래프, 버블 차트 등 다양한 그래프 유형을 활용할 수 있습니다.
데이터 준비
시작하기 전에 시각화할 여행 데이터를 준비해야 합니다. 예를 들어, 다음과 같은 형식의 데이터를 사용해보겠습니다.
import pandas as pd
# 여행 데이터 불러오기
data = pd.read_csv('travel_data.csv')
지도 시각화
여행 데이터를 지도에 시각화하는 것은 매우 흥미로운 방법입니다. Bokeh는 여러 가지 방법으로 지도 시각화를 지원합니다.
from bokeh.plotting import figure, show
from bokeh.tile_providers import get_provider
from bokeh.io import output_notebook
# Jupyter Notebook에서 실행 시 필요한 설정
output_notebook()
# 타일 프로바이더 설정
tile_provider = get_provider('CARTODBPOSITRON')
# 플롯 생성
p = figure(x_axis_type="mercator", y_axis_type="mercator", width=800, height=600)
p.add_tile(tile_provider)
# 데이터 포인트 추가
p.circle(x='longitude', y='latitude', size=10, fill_color='red', fill_alpha=0.6, source=data)
# 플롯 출력
show(p)
위의 코드는 CARTODBPOSITRON 타일 프로바이더를 사용하여 지도를 생성하고, 데이터를 포인트로 추가합니다. 포인트의 위치, 크기, 색상 등은 데이터에 따라 설정할 수 있습니다.
선 그래프 시각화
여행 데이터의 시간에 따른 변화를 보여주고 싶다면 선 그래프를 활용할 수 있습니다. Bokeh는 간단한 코드로 선 그래프를 그릴 수 있습니다.
from bokeh.models import ColumnDataSource
from bokeh.models.tools import HoverTool
# 데이터 프레임을 ColumnDataSource로 변환
source = ColumnDataSource(data)
# 플롯 생성
p = figure(x_axis_type='datetime', width=800, height=400)
# 선 그래프 추가
p.line(x='date', y='sales', source=source)
# 툴팁 설정
hover = HoverTool(tooltips=[
('Date', '@date{%Y-%m-%d}'),
('Sales', '@sales{$0,0}')
], formatters={'@date': 'datetime'})
p.add_tools(hover)
# 플롯 출력
show(p)
위의 코드는 주어진 날짜와 판매량 데이터를 이용해 선 그래프를 그리고, 툴팁을 설정합니다. 마우스를 그래프 위에 올리면 해당 날짜와 판매량을 확인할 수 있습니다.
막대 그래프 및 버블 차트 시각화
통계적인 정보를 강조하고 싶다면 막대 그래프나 버블 차트를 활용할 수 있습니다.
# 플롯 생성
p = figure(width=800, height=400)
# 막대 그래프 추가
p.vbar(x='country', top='population', width=0.8, source=data)
# 플롯 출력
show(p)
# 플롯 생성
p = figure(width=800, height=400)
# 버블 차트 추가
p.circle(x='latitude', y='longitude', size='population', fill_color='blue', fill_alpha=0.6, source=data)
# 플롯 출력
show(p)
위의 코드는 각각 막대 그래프와 버블 차트를 생성하고, 데이터를 추가하는 부분입니다. 막대 그래프의 경우 국가와 인구 수를 이용해 그릴 수 있고, 버블 차트의 경우 위도, 경도, 인구 수를 이용해 그릴 수 있습니다.
결론
이제 여행 데이터를 Bokeh를 사용하여 인터랙티브하게 시각화하는 방법을 알게 되었습니다. Bokeh는 다양한 그래프 유형과 설정을 제공하여 다양한 형태의 여행 데이터를 탐색할 수 있습니다. 더 많은 기능과 옵션을 알아보고 싶다면 Bokeh의 공식 문서를 참고하시기 바랍니다.
참고 문서: