python - networkx - random partition graph

최대 1 분 소요

networkx - random partition graph

  • 요즘은 networkx에서 community detection에 대해서 정리하고 있습니다.
  • 테크닉들에 대해서 테스트를 해보려면, 클러스터가 몇 개로 구성된 예제그래프가 필요합니다.
  • 그리고, 당연히도, networkx에서 이러한 예제 그래프를 지원하죠.
import networkx as nx 
import matplotlib.pyplot as plt

G = nx.random_partition_graph(
    sizes=[20, 10, 5], # partition 별 node 개수
    p_in = 1.0, # partition 내의 edge 비율
    p_out = 0.1, # partition 밖의 edge 비율
    directed=False, # 방향성이 있는가
    seed = 0
)
#print(G.nodes(data=True))

block_to_color_dict = {
    0:'blue', 1:'red', 2:'green'
}
node_color = [block_to_color_dict[n[1]['block']]for n in G.nodes(data=True)]
plt.figure()
nx.draw_networkx(
    G, 
    node_color=node_color, 
)
plt.savefig("test.png", dpi=100)
  • 위와 같이 실행하면 됩니다. 어렵지 않으므로, 추가 설명은 따로 하지 않을게요.

댓글남기기