Визуализация связности
В этом упражнении вы визуализируете, как меняется связность наиболее связанных узлов с течением времени. Список наиболее связанных узлов, top_connected, из предыдущего упражнения уже загружен.
Помните defaultdict, который вы использовали в главе 1? Он снова понадобится вам здесь! Как упоминал Эрик в видео, defaultdict предпочтительнее обычного словаря Python, поскольку обычный словарь выбросит исключение KeyError, если вы попытаетесь обратиться к ключу, которого ещё нет в словаре.
В этом упражнении используются вложенные циклы for: один цикл for располагается внутри другого.
Это упражнение является частью курса
Средний уровень сетевого анализа на Python
Инструкции к упражнению
- Инициализируйте
defaultdictиз пустых списков и назовите егоconnectivity. - Выполните итерацию по
top_connectedс помощью циклаfor, а в теле этого внешнего цикла снова выполните итерацию поGs. Внутри вложенного цикла:- Ключами словаря
connectivityдолжны быть узлыnизtop_connected, а значениями — списки оценок связности. Для этого добавляйтеlen(list(G.neighbors(n)))кconnectivity[n]с помощью.append().
- Ключами словаря
- Выполните итерацию по
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()