[python] Bokeh를 사용하여 주요 사건별 뉴스 데이터 시각화하기

소개

Bokeh는 Python에서 사용할 수 있는 인터랙티브 시각화 도구입니다. 이번에는 Bokeh를 사용하여 주요 사건별 뉴스 데이터를 시각화하는 방법에 대해 알아보겠습니다.

데이터 준비

실제 뉴스 데이터를 사용하기 위해서는 먼저 데이터를 수집하고 전처리해야 합니다. 관련된 데이터셋을 찾아서 원하는 형태로 가공해주세요. 예를 들어, 주요 사건의 키워드와 해당 키워드에 대한 뉴스 기사의 개수와 날짜를 포함하는 CSV 파일을 사용할 수 있습니다.

Bokeh 설치

Bokeh를 사용하기 위해서는 먼저 Bokeh 패키지를 설치해야 합니다. 아래의 명령어를 사용하여 설치할 수 있습니다.

pip install bokeh

코드 예제


from bokeh.io import output_file, show
from bokeh.plotting import figure
from bokeh.models import ColumnDataSource, HoverTool
import pandas as pd

# 데이터 로드
data = pd.read_csv('news_data.csv')

# ColumnDataSource 생성
source = ColumnDataSource(data=dict(
    x=data['date'],
    y=data['count'],
    keywords=data['keywords'],
))

# 그래프 생성
p = figure(title='주요 사건별 뉴스 데이터', x_axis_label='날짜', y_axis_label='기사 개수')

# 데이터 포인트를 그래프에 추가
p.circle(x='x', y='y', source=source, size=10, color='blue', alpha=0.5)

# 툴팁 설정
tooltips = [
    ('날짜', '@x{%F}'),
    ('키워드', '@keywords'),
    ('기사 개수', '@y'),
]
p.add_tools(HoverTool(tooltips=tooltips, formatters={'@x': 'datetime'}))

# 결과 출력
output_file('news_visualization.html')
show(p)

결과 확인

위의 코드를 실행하면 output_file 함수에 지정한 이름으로 HTML 파일이 생성됩니다. 생성된 HTML 파일을 열면 Bokeh를 사용하여 주요 사건별 뉴스 데이터가 시각화된 그래프를 확인할 수 있습니다.

참고 자료