pbj0812의 코딩 일기

[PYTHON] 네트워크 분석을 위한 networkx 예제 본문

ComputerLanguage_Program/PYTHON

[PYTHON] 네트워크 분석을 위한 networkx 예제

pbj0812 2020. 4. 9. 01:37

1. 설치

pip install networkx

2. 코드

 1) 라이브러리 호출

import networkx as nx
import matplotlib.pyplot as plt

# 그래프 생성
G = nx.DiGraph()

 2) 노드(점) 생성

G.add_nodes_from([1, 2, 3, 4, 5])

 3) 엣지(선) 생성

G.add_edges_from([(1, 2), (2, 1), (2, 3), (2, 3), (2, 3), (2, 3), (2, 3), (2, 3), (2, 3), (2,4), (4, 2),
                 (2, 3), (2, 3), (2, 3), (2, 3), (2, 3), (2, 3), (2, 3), (2, 3), (2, 3), (2, 3), (2, 3), (2, 3)])

 4) degree 생성

  - 결과 : [(1, 2), (2, 5), (3, 1), (4, 2), (5, 0)]

degree = nx.degree(G)
print(degree)

 5) 그래프 그리기

  - 위의 degree 리스트를 순서대로 읽으면서 그 값에 따라 크기가 변하도록 조정 

nx.draw(G,node_size=[500 + v[1]*500 for v in degree], with_labels=True)

 

3. 참고

 - 김경훈님 슬라이드쉐어(잘 되어 있음)

 - 유병혁님의 예제

 - 네트워크 분석 설명

Comments