当前位置 主页 > 网站技术 > 代码类 >

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

    栏目:代码类 时间:2019-11-22 12:06

    如下所示:

    #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绘制无向图度分布曲线示例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持IIS7站长之家。