Я хочу визуализировать социальные сети, используя какой-то инструмент (предпочтительно какой-нибудь инструмент в python). В настоящее время у меня есть данные в виде массивов: массив с информацией об узлах (давайте назовем его Nodes
). Каждая строка этого массива указывает на узел, а каждый столбец этого массива указывает на определенный атрибут. Значения в каждом столбце Nodes
отображают значения атрибутов. Нулевые значения в этом массиве Nodes
представляют отсутствующие значения атрибута.
Рядом с массивом узлов у меня есть массив для матрицы смежности (ребер). Давайте назовем этот массив Edges
. Массив Edges
представляет собой квадратный массив того же размера, что и количество строк (узлов) в массиве Nodes
. Этот массив (Edges
) заполнен значениями 0
и 1
. Значение 0
в (i,j)
положении Edges
будет означать, что узлы i
и j
не связаны друг с другом. Принимая во внимание, что значение 1
в положении (m,n)
будет означать, что узлы m
и n
связаны друг с другом.
Вот небольшой иллюстративный пример массивов Nodes
и Edges
с 10 узлами:
Nodes = np.array([[1,2,4],[1,3,1],[2,2,1],[1,1,2],
[1,2,2],[2,1,4],[1,2,1],[2,0,1],
[2,2,4],[1,0,4]])
Edges = np.random.randint(2, size=(10,10))
В приведенных выше данных у нас есть 10 узлов и 3 атрибута. Как я могу получить визуализацию сети, используя эти массивы (Nodes
и Edges
)?