[python] Bokeh를 활용한 미디어 소비 동향 시각화

개요

미디어 소비 동향은 매우 중요한 정보입니다. 이들 동향을 시각화하여 데이터를 분석하고 인사이트를 얻는 것은 매우 유용합니다. 이번 블로그에서는 Bokeh라는 파이썬 라이브러리를 사용하여 미디어 소비 동향을 시각화하는 방법에 대해 알아보겠습니다.

Bokeh란?

Bokeh는 인터랙티브한 시각화를 제공하는 파이썬 라이브러리입니다. 이를 통해 웹 기반의 시각화를 생성할 수 있으며, 그래프나 차트 등 다양한 시각화 요소를 사용자와 상호작용할 수 있도록 만들 수 있습니다.

데이터 불러오기

먼저, 미디어 소비 동향 데이터를 불러와야 합니다. 예를 들어, CSV 파일이나 데이터베이스의 테이블에서 데이터를 가져올 수 있습니다. 이 예제에서는 CSV 파일을 사용하도록 하겠습니다. CSV 파일을 Pandas로 불러오는 예시 코드는 다음과 같습니다.

import pandas as pd

# CSV 파일 불러오기
data = pd.read_csv('media_consumption.csv')

데이터 시각화

데이터를 불러왔으면, 이제 Bokeh를 사용하여 시각화를 진행할 수 있습니다. Bokeh는 다양한 시각화 요소를 제공하며, 사용자의 요구에 맞게 개인화할 수 있습니다. 다음은 Bokeh를 사용하여 가장 기본적인 선 그래프를 그리는 예시 코드입니다.

from bokeh.plotting import figure, show

# 데이터 기반의 그래프 생성
p = figure(title='미디어 소비 동향', x_axis_label='연도', y_axis_label='소비량')

# 선 그래프 그리기
x = data['year']
y = data['consumption']
p.line(x, y)

# 그래프 출력
show(p)

위의 코드에서는 먼저 figure 객체를 생성하고, 그래프의 제목과 x축, y축 라벨을 설정합니다. 그 다음으로 line 메소드를 사용하여 선 그래프를 그립니다. 마지막으로 show 함수를 호출하여 그래프를 출력합니다.

인터랙티브한 기능 추가하기

Bokeh의 가장 큰 장점 중 하나는 인터랙티브한 기능을 제공한다는 점입니다. 예를 들어, 그래프에서 특정 데이터 포인트에 마우스를 가져가면 해당 데이터의 상세 정보를 볼 수 있다거나, 그래프에서 특정 범위를 드래그하여 그 범위에 해당하는 데이터만 보여줄 수도 있습니다.

from bokeh.models import HoverTool

# HoverTool을 사용하여 데이터 포인트에 마우스를 가져갔을 때 상세 정보 표시
hover_tool = HoverTool(tooltips=[('Year', '@x'), ('Consumption', '@y')])
p.add_tools(hover_tool)

# 특정 범위 선택 기능 추가
p.toolbar.active_drag = p.select_one(HoverTool)

위의 예시 코드에서는 HoverTool을 사용하여 데이터 포인트에 마우스를 가져갔을 때 해당 데이터의 상세 정보를 툴팁으로 표시합니다. 또한, active_drag 속성을 설정하여 그래프에서 범위를 드래그하여 그 범위에 해당하는 데이터만 보여주는 기능을 추가합니다.

마치며

이번 블로그에서는 Bokeh를 사용하여 미디어 소비 동향을 시각화하는 방법을 알아보았습니다. Bokeh의 풍부한 기능을 활용하면 다양한 시각화 요소를 추가하고 데이터를 보다 깊게 분석할 수 있습니다. Bokeh를 익히고 활용하여 효과적인 인사이트를 얻을 수 있는 시각화를 만들어보세요!

참고 자료