2011-12-30 211 views
1

包NetworkX是否可用于绘制具有分配权重的复杂网络,例如幂律?那么我可以写一个代码来绘制重量分布或强度分布,甚至可以进一步绘制节点的加权平均最近邻节点程度?然后着色每个类的相似程度,或类似的强度等使用NetworkX绘制加权复杂网络

我有一个庞大的数据由一个复杂的网络组成的大约300个节点,以及个人egdes的权重数据。绘制这样的网络的最佳方式是什么?

+1

是'networkx'可以做所有这些事情。我建议你仔细阅读[文档](http://networkx.lanl.gov/reference/index.html),如果你在任何部分停留,请回答这些问题。顺便说一下,我不会将300节点网络视为“大型”网络。 – Avaris 2011-12-30 09:06:13

+0

非常感谢您的观察。我刚开始意识到加权网络的文档帐户。所以在“度数”部分,当你计算“度数”并在相关代码中的参数中加上权重时,你会得到强度,所以不会。 – Aya 2012-01-01 14:26:41

回答

3

networkx中的边可以使用特殊属性“权重”,它可用于需要加权边缘的多种算法。您可以使用networkx绘图命令考虑这些权重(例如,通过弹簧嵌入可视化中的弹簧力)。例如:

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

非常感谢您的帮助。提出问题是有效理解的关键! – Aya 2012-01-01 14:29:51