zoukankan      html  css  js  c++  java
  • 简单的社交网络

    1.四个文件

    cat  A.关系图.xlsx
    Source    Target    Weight
    A    B    6
    A    C    6
    A    D    7
    A    E    7
    A    F    6
    A    G    5
    A    H    5
    A    I    3
    A    J    6
    
    cat B.关系图.xlsx
    Source    Target    Weight
    B    C    7
    B    D    7
    B    E    5
    B    J    6
    C    D    8
    
    cat C.关系图.xlsx
    Source    Target    Weight
    C    B    7
    C    E    8
    C    A    8
    C    K    5
    C    N    5
    C    D    4
    C    F    2
    C    Z    5
    C    L    5
    
    cat D.关系图.xlsx
    Source    Target    Weight
    D    H    3
    D    J    4
    D    K    4
    D    C    4
    D    B    6
    D    A    6
    D    F    6

    2.

    import  pandas as pd
    import networkx as nx
    from networkx.algorithms.approximation import  clique
    import matplotlib.pyplot as plt
    data1 = pd.read_excel("./数据集/3.4.简单社交网络/A关系图.xlsx")
    data2 = pd.read_excel("./数据集/3.4.简单社交网络/B关系图.xlsx")
    data3 = pd.read_excel("./数据集/3.4.简单社交网络/C关系图.xlsx")
    data4 = pd.read_excel("./数据集/3.4.简单社交网络/D关系图.xlsx")
    data = pd.concat([data1,data2,data3,data4])
    print (data)
    # from_pandas_edgelist 函数使用数据集创建边和顶点
    graph = nx.from_pandas_edgelist(data,'Source','Target',edge_attr=['Weight'])
    #顶点
    #print(graph.nodes())
    #
    #print(graph.edges())
    #顶点权重
    #print(graph.degree())
    #创建图像实例
    plt.figure(figsize = (20,10))
    #节点的颜色由节点的度决定
    node_color = [graph.degree[v] for v in graph]
    #边的宽度由权重决定
    edge_size = [0.2*graph[u][v]['Weight'] for u,v in graph.edges()]
    pos = nx.spring_layout(graph)
    #画图
    nx.draw_networkx(graph,pos=pos,with_labels=False,node_color=node_color)
    plt.show()
    
    
    
    
    #社区探测
    #help(clique)
    klist = list(clique.clique_removal(graph))
    print(len(klist))
    plt.figure(figsize=(20,10))
    nx.draw_networkx(graph,pos=pos,nodelist=klist[0],node_color= 'r')
    nx.draw_networkx(graph,pos=pos,node_list=klist[1],node_color='y')
    plt.savefig("./a.jpg")
  • 相关阅读:
    Ionic3 UI组件之 autocomplete
    Ionic项目中如何使用Native Camera
    AD RMS企业文件版权管理
    利用WSUS部署更新程序
    远程桌面web连接
    文件服务器的管理
    域用户配置文件
    无需转化直接使用ESD映像文件安装系统简明教程
    Windows DHCP备份还原命令
    Bitlocker驱动器加密使用
  • 原文地址:https://www.cnblogs.com/students/p/10822092.html
Copyright © 2011-2022 走看看