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")
  • 相关阅读:
    CSS3 2D转换
    CSS3 选择器
    CSS3 counters计数器学习笔记
    Web 部署 Server IP可以访问,Server Name 访问出错
    Windows server 2012 +IIS 8.0 Web 部署后在服务器端可以打开网页,在局域网其他电脑中打不开
    关于EF调用存储过程那点事...
    从一个路口转向另一个路口需要多少步
    PCA的数学原理(非常值得阅读)!!!!其实更重要的应该是实际意义
    BMP文件输入输出
    说明
  • 原文地址:https://www.cnblogs.com/students/p/10822092.html
Copyright © 2011-2022 走看看