python绘制无向图度分布曲线示例

如下所示:

#Copyright (c)2017, 东北大学软件学院学生

# All rightsreserved

#文件名称:a.py

# 作 者:孔云

#问题描述:统计图中的每个节点的度,并生成度序列

#问题分析:利用networkx。代码如下:

import matplotlib.pyplot as plt #导入科学绘图包

import networkx as nx

G=nx.random_graphs.barabasi_albert_graph(1000,3)#生成n=1000,m=3的无标度的图

print ("某个节点的度:",G.degree(0))#返回某个节点的度

print("所有节点的度:",G.degree())#返回所有节点的度

print("所有节点的度分布序列:",nx.degree_histogram(G))#返回图中所有节点的度分布序列(从1至最大度的出现频次)

degree=nx.degree_histogram(G)#返回图中所有节点的度分布序列

x=range(len(degree))#生成X轴序列,从1到最大度

y=[z/float(sum(degree))for z in degree]#将频次转化为频率,利用列表内涵

plt.loglog(x,y,color="blue",linewidth=2)#在双对坐标轴上绘制度分布曲线

plt.show()#显示图表

运行结果:

注:在上一篇基础上,将度分布曲线绘制出来了。

以上这篇python绘制无向图度分布曲线示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

以上是 python绘制无向图度分布曲线示例 的全部内容, 来源链接: utcz.com/z/359130.html

回到顶部