시작하기무료로 시작하기

연결성 시각화

이번에는 상위로 많이 연결된 노드들의 연결성이 시간에 따라 어떻게 변하는지 시각화해 보겠습니다. 이전 연습 문제에서 만든 상위 연결값 목록 top_connected가 로드되어 있습니다.

1장에서 사용했던 defaultdict가 기억나시나요? 이 연습에서도 defaultdict를 사용할 거예요! 영상에서 Eric이 설명했듯이, 일반 Python 딕셔너리는 현재 사전에 없는 키로 항목을 가져오면 KeyError가 발생하므로 이 경우 defaultdict가 더 적합합니다.

이 연습에서는 중첩된 for 루프를 사용합니다. 즉, 하나의 for 루프 안에 또 다른 for 루프를 넣어서 사용합니다.

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

Python 중급 네트워크 분석

강의 보기

연습 안내

  • 빈 리스트를 기본값으로 하는 defaultdictconnectivity라는 이름으로 초기화하세요.
  • for 루프로 top_connected를 순회하고, 바깥 for 루프 본문에서 다시 Gs를 순회하세요. 이 중첩 루프 안에서:
    • connectivity의 키는 top_connected의 노드 n, 값은 연결성 점수의 리스트가 되어야 합니다. 따라서 len(list(G.neighbors(n)))connectivity[n]에 추가해야 합니다.
  • .items()connectivity를 순회하고, 각 노드의 연결성을 그리기 위해 connplt.plot()에 전달하세요.

실습형 인터랙티브 연습

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

# Import necessary modules
import matplotlib.pyplot as plt
from collections import defaultdict

# Create a defaultdict in which the keys are nodes and the values are a list of connectivity scores over time
connectivity = ____
for n in ____:
    for g in ____:
        connectivity[____].____(len(____))

# Plot the connectivity for each node
fig = plt.figure() 
for n, conn in ____: 
    plt.plot(____, label=n) 
plt.legend()  
plt.show()
코드 편집 및 실행