如下所示:#Copyright(c)2017,东北大学软件学院学生#Allrightsreserved#文件名称:a.py#作者:孔云#
如下所示:
#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 无向图度 分布曲线