[python] Bokeh를 사용하여 사회 경제적 불평등 지표 분석 결과 시각화하기

사회 경제적 불평등은 현대 사회에서 많은 관심사 중 하나입니다. 이러한 불평등의 증가와 영향을 분석하고 시각화하기 위해 Python에서 Bokeh라는 시각화 도구를 이용할 수 있습니다. Bokeh는 interactivity와 고해상도 그래픽을 제공하며, 특히 대화형 시각화를 만들기 위해 설계되었습니다.

Bokeh 설치하기

Bokeh를 설치하기 위해 다음 명령어를 사용하세요:

pip install bokeh

데이터 준비하기

먼저 데이터를 준비해야 합니다. 사회 경제적 불평등을 분석하기 위해 실제 데이터를 사용하는 것이 가장 좋습니다. 여기에서는 가상의 데이터를 사용하겠습니다.

다음과 같은 CSV 파일을 준비합니다:

국가 GINI 지수 소득
국가 A 0.45 500
국가 B 0.50 600
국가 C 0.35 400
국가 D 0.40 450

이 데이터는 각 국가의 GINI 지수와 평균 소득을 포함하고 있습니다.

Bokeh를 사용하여 데이터 시각화하기

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

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

# Bokeh의 output_notebook 함수를 사용하여 Jupyter 노트북에서 그래프를 표시할 준비를 합니다.
output_notebook()

# 데이터를 Bokeh의 ColumnDataSource 객체로 변환합니다.
source = ColumnDataSource(data)

# 도구 팁에 표시될 정보를 설정합니다.
tooltips = [
    ("국가", "@국가"),
    ("GINI 지수", "@{GINI 지수}"),
    ("평균 소득", "@소득")
]

# figure 객체를 생성합니다.
p = figure(x_range=data['국가'], plot_height=400, plot_width=800, title="사회 경제적 불평등 지표", tooltips=tooltips)

# 막대 그래프를 추가합니다.
p.vbar(x='국가', top='GINI 지수', width=0.5, source=source, legend_label="GINI 지수")

# 선 그래프를 추가합니다.
p.line(x='국가', y='소득', line_width=2, source=source, color='red', legend_label="평균 소득")

# 그래프를 화면에 표시합니다.
show(p)

위의 코드는 Bokeh를 사용하여 GINI 지수와 평균 소득을 막대 그래프와 선 그래프로 시각화하는 예시입니다. ColumnDataSource를 사용하여 데이터를 준비하고, figure 객체를 생성하여 그래프의 크기와 제목을 설정합니다. 그 후 vbar 함수와 line 함수를 사용하여 그래프를 추가하고, show 함수를 호출하여 그래프를 화면에 표시합니다.

결론

Bokeh를 사용하여 사회 경제적 불평등 지표를 시각화할 수 있습니다. Bokeh는 강력한 시각화 도구로서 interactivity와 고해상도 그래픽을 제공하여 데이터의 패턴을 한눈에 파악할 수 있도록 도와줍니다.

참고 자료