nxviz로 필터링된 그래프 시각화
이번에는 circos 플롯을 사용해 필터링된 그래프를 시각화해 보겠습니다. circos 플롯은 노드 그룹화와 색상을 통해 파티션을 표현할 수 있고, 원형 레이아웃이 시각적 미학을 잘 유지해 주기 때문에 이 과제에 적합합니다.
이 연습은 강의의 일부입니다
Python 중급 네트워크 분석
연습 안내
- 원본 그래프의 차수 중심성을 바탕으로, bipartite 모듈의 차수 중심성을 사용하여 각 노드의 차수 중심성 점수를 계산하세요.
- 이를 위해
nx.bipartite.degree_centrality()함수를 사용하고, 인수로G와nodes=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()