[python] Bokeh를 활용한 스포츠 경기 데이터 시각화

Bokeh는 파이썬으로 작성된 대화형 시각화 라이브러리로, 스포츠 경기 데이터를 시각화하는 데 매우 효과적입니다. Bokeh를 사용하면 데이터를 쉽게 이해하고 인터랙티브하게 탐색할 수 있습니다. 이 튜토리얼에서는 Bokeh를 사용하여 스포츠 경기 데이터를 가져와 시각화하는 방법을 알아보겠습니다.

Bokeh 설치

먼저, Bokeh를 설치해야 합니다. 다음 명령어를 사용하여 Bokeh를 설치합니다.

pip install bokeh

스포츠 경기 데이터 가져오기

시작하기 전에 스포츠 경기 데이터를 가져와야 합니다. 예를 들어, ESPN API 또는 SportsDataIO API 등을 사용하여 원하는 경기 데이터를 가져올 수 있습니다. 데이터를 가져온 후, 이를 CSV 파일 또는 Pandas DataFrame으로 저장합니다.

Bokeh로 데이터 시각화하기

이제 Bokeh를 사용하여 스포츠 경기 데이터를 시각화해 보겠습니다.

from bokeh.plotting import figure, show
from bokeh.models import ColumnDataSource
from bokeh.palettes import Category10

# 경기 데이터를 가져와서 DataFrame으로 저장
game_data = pd.read_csv("game_data.csv")

# Bokeh에서 사용할 데이터 소스 생성
source = ColumnDataSource(game_data)

# Figure 객체 생성
p = figure(title="스포츠 경기 데이터 시각화",
           x_axis_label='시간',
           y_axis_label='점수',
           width=800,
           height=400)

# 각 팀의 점수에 대한 선 그리기
teams = game_data["team_name"].unique()
colors = Category10[len(teams)]
for i, team in enumerate(teams):
    team_data = game_data[game_data["team_name"] == team]
    p.line(x='time', y='score', source=source, line_width=2, color=colors[i], legend_label=team)

# 범례 설정
p.legend.location = "top_left"
p.legend.click_policy="hide"

# 그래프 표시
show(p)

위의 코드는 Bokeh를 사용하여 스포츠 경기 데이터를 시각화하는 예시입니다. game_data.csv 파일에서 경기 데이터를 읽어와서 Bokeh의 ColumnDataSource를 사용하여 데이터를 소스로 설정합니다. 그런 다음, figure 객체를 생성하여 그래프를 설정하고, line 메소드를 사용하여 각 팀의 점수에 대한 선을 그립니다. 마지막으로, show 함수를 사용하여 그래프를 표시합니다.

결론

Bokeh를 사용하면 파이썬으로 스포츠 경기 데이터를 시각화할 수 있습니다. Bokeh의 다양한 기능을 사용하여 데이터를 더욱 인터랙티브하게 표현할 수도 있습니다. 스포츠 데이터 시각화에 대한 자세한 내용은 Bokeh 공식 문서를 참조하시기 바랍니다.