[python] Bokeh를 활용한 사회 네트워크 분석 결과 시각화

사회 네트워크 분석은 사회적 관계의 구조와 상호작용을 이해하는 데 도움이 되는 강력한 도구입니다. 이러한 분석 결과를 시각화하여 쉽게 이해할 수 있는 방법 중 하나는 Python의 Bokeh 라이브러리를 활용하는 것입니다.

Bokeh는 인터랙티브한 웹 기반 시각화 도구로, 데이터를 동적으로 조작하고 탐색할 수 있는 기능을 제공합니다. 그래프, 플롯, 차트 등 다양한 형태의 시각화를 생성할 수 있습니다. 아래는 Bokeh를 사용하여 사회 네트워크 분석 결과를 시각화하는 간단한 예제입니다.

from bokeh.io import show
from bokeh.models import Plot, Range1d, Circle, HoverTool, MultiLine
from bokeh.palettes import Spectral4
from bokeh.plotting import from_networkx
import networkx as nx

# 데이터 준비
G = nx.karate_club_graph()

# 그래프 시각화
plot = Plot(plot_width=400, plot_height=400,
            x_range=Range1d(-1.1, 1.1),
            y_range=Range1d(-1.1, 1.1))

plot.title.text = "Karate Club Network"
plot.title.text_font_size = "16pt"

plot.add_tools(HoverTool(tooltips=None),
               xaxis=None, yaxis=None)

graph_renderer = from_networkx(G, nx.spring_layout, scale=1, center=(0, 0))
plot.renderers.append(graph_renderer)

node_hover_tool = HoverTool(tooltips=[("Node", "@index")])
plot.add_tools(node_hover_tool)

# 결과 시각화
show(plot)

이 예제에서는 Bokeh 라이브러리의 주요 기능을 사용하여 Karate Club 데이터셋에 대한 사회 네트워크를 시각화합니다. 데이터를 준비한 후 Plot 객체를 생성하고, 필요한 도구와 속성을 추가하여 그래프를 생성합니다. 마지막으로 show 함수를 사용하여 그래프를 출력합니다.

위 코드를 실행하면 웹 브라우저에서 사회 네트워크의 시각화 결과를 확인할 수 있습니다. 이를 통해 노드와 관계들을 쉽게 파악하고, 원하는 정보를 툴팁으로 확인할 수 있습니다.

Bokeh를 활용하여 사회 네트워크 분석 결과를 시각화하는 것은 데이터의 가시성과 이해를 높일 수 있는 좋은 방법입니다. Bokeh의 다양한 기능을 활용하여 원하는 시각화를 구현해보세요.

참고 문서