始める無料で始める

接続性を可視化する

ここでは、最も接続されているノードの接続性が時間とともにどのように変化するかを可視化します。前の演習で作成した上位の接続数リスト top_connected は読み込まれています。

Chapter 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] に追加(append)します。
  • .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()
コードを編集して実行