Нарисуйте взвешенную сложную сеть с NetworkX - PullRequest
1 голос
/ 30 декабря 2011

Может ли пакет NetworkX использоваться для построения сложной сети с весами, заданными распределением, например степенным законом? Тогда я могу написать код для рисования распределения веса или силы, или даже дальше, чтобы нарисовать средневзвешенную степень ближайших соседей узла? затем раскраска каждого класса одинаковых степеней или аналогичных сил и т. д.

У меня есть большие данные сложной сети, состоящей из около 300 узлов, и данные о весах отдельных egdes. Как лучше всего нарисовать такую ​​сеть?

1 Ответ

3 голосов
/ 30 декабря 2011

Края в networkx могут использовать специальный атрибут 'weight', который может использоваться в ряде алгоритмов, требующих взвешенных ребер.Вы можете использовать команды рисования networkx, чтобы принять во внимание эти веса (например, силой пружины во встроенной визуализации пружины).Что-то вроде:

>>> import networkx as nx
>>> import matplotlib.pyplot as plt
>>> G = nx.Graph()
>>> # add nodes, edges, etc.
...
>>> nx.draw_spring(G)
>>> plt.show()
...