使用 networkx 和 numpy 绘制累积分布
Plot cumulative distribution with networkx and numpy
我想实现图形的累积分布。这是我的代码:
g = nx.read_edgelist('graph', create_using= nx.Graph(), nodetype=int)
degree_sequence = sorted([d for n, d in g.degree()], reverse=True) # degree sequence
degreeCount = collections.Counter(degree_sequence)
deg, cnt = zip(*degreeCount.items())
cs = np.cumsum(deg)
plt.loglog(deg, cs, 'bo')
plt.title("Cumulative Distribution plot")
plt.ylabel("Sample with value > Degree")
plt.xlabel("Degree")
plt.show()
要绘制累积曲线,我知道我必须在 x 轴上有度数,在 y 轴上有值 > 度数的样本。使用我的代码的结果如下:
但是预期的结果一定是这样的:
我不确定使用我的代码是否得到了预期的情节。谁能帮我解释一下是否有问题?
我认为应该是:
cs = np.cumsum(cnt)
完整代码:
g = nx.read_edgelist('graph', create_using= nx.Graph(), nodetype=int)
degree_sequence = sorted([d for n, d in g.degree()], reverse=True) # degree sequence
degreeCount = collections.Counter(degree_sequence)
deg, cnt = zip(*degreeCount.items())
cs = np.cumsum(cnt)
plt.loglog(deg, cs, 'bo')
plt.title("Cumulative Distribution plot")
plt.ylabel("Sample with value > Degree")
plt.xlabel("Degree")
plt.show()
通常在实现累积度数分布时,您希望计数的总数达到给定度数,P(K。
我想实现图形的累积分布。这是我的代码:
g = nx.read_edgelist('graph', create_using= nx.Graph(), nodetype=int)
degree_sequence = sorted([d for n, d in g.degree()], reverse=True) # degree sequence
degreeCount = collections.Counter(degree_sequence)
deg, cnt = zip(*degreeCount.items())
cs = np.cumsum(deg)
plt.loglog(deg, cs, 'bo')
plt.title("Cumulative Distribution plot")
plt.ylabel("Sample with value > Degree")
plt.xlabel("Degree")
plt.show()
要绘制累积曲线,我知道我必须在 x 轴上有度数,在 y 轴上有值 > 度数的样本。使用我的代码的结果如下:
但是预期的结果一定是这样的:
我不确定使用我的代码是否得到了预期的情节。谁能帮我解释一下是否有问题?
我认为应该是:
cs = np.cumsum(cnt)
完整代码:
g = nx.read_edgelist('graph', create_using= nx.Graph(), nodetype=int)
degree_sequence = sorted([d for n, d in g.degree()], reverse=True) # degree sequence
degreeCount = collections.Counter(degree_sequence)
deg, cnt = zip(*degreeCount.items())
cs = np.cumsum(cnt)
plt.loglog(deg, cs, 'bo')
plt.title("Cumulative Distribution plot")
plt.ylabel("Sample with value > Degree")
plt.xlabel("Degree")
plt.show()
通常在实现累积度数分布时,您希望计数的总数达到给定度数,P(K