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()#显示图表

运行结果:


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

  • 5
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值