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")
  • 相关阅读:
    November 13th 2016 Week 47th Sunday The 1st Day
    November 12th 2016 Week 46th Saturday
    November 11th 2016 Week 46th Friday
    November 10th 2016 Week 46th Thursday
    November 9th 2016 Week 46th Wednesday
    November 8th 2016 Week 46th Tuesday
    windows 7文件共享方法
    Win7无线网络共享设置方法
    常量指针和指针常量
    如何查找局域网的外网ip
  • 原文地址:https://www.cnblogs.com/students/p/10822092.html
Copyright © 2011-2022 走看看