시작하기무료로 시작하기

nxviz로 필터링된 그래프 시각화

이번에는 circos 플롯을 사용해 필터링된 그래프를 시각화해 보겠습니다. circos 플롯은 노드 그룹화와 색상을 통해 파티션을 표현할 수 있고, 원형 레이아웃이 시각적 미학을 잘 유지해 주기 때문에 이 과제에 적합합니다.

이 연습은 강의의 일부입니다

Python 중급 네트워크 분석

강의 보기

연습 안내

  • 원본 그래프의 차수 중심성을 바탕으로, bipartite 모듈의 차수 중심성을 사용하여 각 노드의 차수 중심성 점수를 계산하세요.
    • 이를 위해 nx.bipartite.degree_centrality() 함수를 사용하고, 인수로 Gnodes=forum_nodes를 전달하세요.
  • 노드를 파티션 레이블('bipartite')로 색상 지정 및 그룹화(node_color_by, group_by 매개변수)하고, 차수 중심성('dc') 기준으로 정렬(sort_by 매개변수)한 새로운 circos 플롯을 만들고 표시하세요.
    • 화면에 표시했을 때 노드가 잘 보이도록 node_enc_kwargs={'radius': 10} 인수를 포함해 두었습니다.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

# Import necessary modules
from nxviz import circos
import networkx as nx
import matplotlib.pyplot as plt

# Compute degree centrality scores of each node
dcs = ____(____, nodes=____)
for n, d in G_sub.nodes(data=True):
    G_sub.nodes[n]['dc'] = dcs[n]

# Create the circos plot: c
c = _____(___, _____, _____, _____, node_enc_kwargs={'radius': 5})

# Display the plot
plt.show() 
코드 편집 및 실행