Python 如何在NetworkX中创建具有不同分类的无标度网络?
考虑到这是一个网络的集线器连接到其他集线器而不是外围节点的偏好,我想使用Barabasi-Albert算法以不同的分类生成2个无标度网络 给出了一个直观的例子 如何“强制”NetworkX创建几个无标度网络,这些网络的分类系数彼此显著不同,如可视示例中的网络? 这就是我创建(无方向)Barabasi-Albert网络的方式:Python 如何在NetworkX中创建具有不同分类的无标度网络?,python,graph,networkx,Python,Graph,Networkx,考虑到这是一个网络的集线器连接到其他集线器而不是外围节点的偏好,我想使用Barabasi-Albert算法以不同的分类生成2个无标度网络 给出了一个直观的例子 如何“强制”NetworkX创建几个无标度网络,这些网络的分类系数彼此显著不同,如可视示例中的网络? 这就是我创建(无方向)Barabasi-Albert网络的方式: import networkx as nx from pylab import * import matplotlib.pyplot as plt %pylab inlin
import networkx as nx
from pylab import *
import matplotlib.pyplot as plt
%pylab inline
n=100 #Number of nodes
ncols=10 #Number of columns in a 10x10 grid of positions
m=2 #Number of initial links
seed=[100]
for j in seed:
G=nx.barabasi_albert_graph(n, m, j)
pos = {i : (i // ncols, (n-i-1) % ncols) for i in G.nodes()}
d=G.degree().values()
avg_d=round(sum(d)/100,3)
avg_degree.append(avg_d)
edges.append(len(G.edges()))
nx.draw(G, pos, with_labels=True, nodesize=100, node_color='darkorange',font_size=10)
plt.title('Scale-Free Network (BA)')
plt.show()
#Assortativity coefficient (Pearson's rho)
r=nx.degree_pearson_correlation_coefficient(G)
该网络的分类系数为
-0.2
,这意味着集线器略微倾向于连接到外围节点。Barabasi-Albert算法是一种特定的算法。BA算法中的参数不允许您调整分类。如果你想调整分类,你需要修改算法,或者使用不同的算法来生成网络。Barabasi-Albert算法是一种特定的算法。BA算法中的参数不允许您调整分类。如果您想要调整分类,您需要使用算法的修改,或者使用不同的算法来生成网络。