네트워크 시각화

Python으로 시작하는 네트워크 분석

Eric Ma

Data Carpentry instructor and author of nxviz package

비합리적 vs. 합리적 시각화

대규모 그래프의 두 표현. 두 경우 모두 그래프 구조가 엉킨 실타래처럼 복잡하여 해석이 어렵습니다.

Python으로 시작하는 네트워크 분석

네트워크 시각화

  • 행렬 플롯
  • 아크 플롯
  • 시르코스 플롯
Python으로 시작하는 네트워크 분석

네트워크 시각화

  • 행렬 플롯
  • 아크 플롯
  • 시르코스 플롯
Python으로 시작하는 네트워크 분석

행렬 플롯

3×3 행렬. 열 이름 A, B, C이고 행 이름도 A, B, C입니다. 해당 그래프에서 노드가 연결된 위치의 셀이 검은색입니다. 옆에는 A, B, C 노드가 있는 그래프가 있으며 A-B, A-C는 연결되고 B-C는 직접 연결되지 않습니다.

Python으로 시작하는 네트워크 분석

행렬 플롯

이전과 동일한 행렬과 그래프이지만, 이제 행렬의 대각선이 회색으로 표시되어 있습니다.

Python으로 시작하는 네트워크 분석

행렬 플롯

이전과 같은 행렬과 그래프이지만, 이제 셀 (A, B)와 (B, A)가 노란색으로 표시되어 있습니다. 그래프에서 A와 B 사이의 간선도 노란색입니다.

Python으로 시작하는 네트워크 분석

행렬 플롯

이전과 같은 행렬과 그래프이지만, 이제 셀 (A, C)와 (C, A)가 노란색으로 표시되어 있습니다. 그래프에서 A와 C 사이의 간선도 노란색입니다.

Python으로 시작하는 네트워크 분석

방향성 행렬

ch1-3.012.png

Python으로 시작하는 네트워크 분석

네트워크 시각화

  • 행렬 플롯
  • 아크 플롯
  • 시르코스 플롯
Python으로 시작하는 네트워크 분석

아크 플롯

각각 세 개의 노드가 있는 두 그래프. 두 그래프 모두 A, B, C 노드가 있고 A-B, A-C 간선이 있습니다. 첫 번째 그래프는 노드를 한 줄로 배치하고 굽은 선 간선을 사용합니다. 두 번째 그래프는 평면에 배치하고 직선 간선을 사용합니다.

Python으로 시작하는 네트워크 분석

네트워크 시각화

  • 행렬 플롯
  • 아크 플롯
  • 시르코스 플롯
Python으로 시작하는 네트워크 분석

시르코스 플롯

ch1-3.018.png

Python으로 시작하는 네트워크 분석

시르코스 플롯

각각 여섯 개의 노드가 있는 두 그래프. 왼쪽 그래프는 노드를 원형으로 배치하고 호 모양 간선을 사용합니다. 오른쪽 그래프는 무작위 배치와 직선 간선을 사용합니다.

Python으로 시작하는 네트워크 분석

nxviz API

import nxviz as nv
import matplotlib.pyplot as plt

ap = nv.arc(G)
plt.show()
Python으로 시작하는 네트워크 분석

연습해 봅시다!

Python으로 시작하는 네트워크 분석

Preparing Video For Download...