Візуалізація звʼязності
Тут ви візуалізуєте, як змінюється звʼязність найдужче звʼязаних вершин з часом. Список найбільших значень звʼязності top_connected з попередньої вправи вже завантажено.
Пам'ятаєте defaultdict, який ви використовували в розділі 1? У цій вправі ви знову використаєте defaultdict! Як Ерік зазначив у відео, тут краще підходить defaultdict, адже звичайний словник Python спричинить KeyError, якщо спробувати отримати елемент за ключем, якого наразі немає в словнику.
У цій вправі ви використаєте вкладені цикли for. Тобто один цикл for буде всередині іншого.
Ця вправа є частиною курсу
Середній рівень Network Analysis у Python
Інструкції до вправи
- Ініціалізуйте
defaultdictпорожніх списків із назвоюconnectivity. - Ітеруйтеся по
top_connectedза допомогою циклуfor, і в тілі цього зовнішнього циклу ще раз ітеруйтеся поGs. Усередині цього вкладеного циклу:- Ключами
connectivityмають бути вершиниnізtop_connected, а значеннями — списки показників звʼязності. Тому додайтеlen(list(G.neighbors(n)))доconnectivity[n].
- Ключами
- Ітеруйтеся по
connectivityза допомогою.items()і побудуйте графік звʼязності кожної вершини, передавшиconnуplt.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()