zoukankan      html  css  js  c++  java
  • networkx 画图 带node标签

    `#画出feature graph
    import networkx as nx
    import community
    import matplotlib.pyplot as plt
    import numpy as np
    import random
    import scipy.io as scio
    import copy

    首先读取邻接矩阵,放到矩阵

    dataFile = 'ADJ.mat'
    data = scio.loadmat(dataFile)['D']
    print(data.shape)

    data_=data_[0:50,0:50]

    根据矩阵构建图

    http://www.cppcns.com/jiaoben/python/288043.html

    G = nx.Graph()

    node labels

    node_labvels=['node_label_1','node_label_2','node_label_3','node_label_4','node_label_5',' node_label_6','node_label_7',
    'node_label_11','node_label_12','node_label_13','node_label_14','node_label_15',' node_label_16','node_label_17']

    for k in range(0,14):
    sr=str(k)
    lb=node_labvels[k]
    G.add_node(sr, desc=lb)

    for i in range(len(data)):
    for j in range(len(data)):
    if (data[i][j] > 0):
    G.add_edge(str(i), str(j))

    然后画图

    nx.draw(G,with_labels=True)

    plt.show()

    nodes_col=['#B0E0E6','#B0E0E6','#B0E0E6','#B0E0E6','#B0E0E6','#B0E0E6','#B0E0E6',
    '#2E8B57', '#2E8B57', '#2E8B57', '#2E8B57', '#2E8B57', '#2E8B57', '#2E8B57']
    pos = nx.spring_layout(G)
    nx.draw(G, pos)
    node_labels = nx.get_node_attributes(G, 'desc')
    nx.draw_networkx_labels(G, pos, labels=node_labels)

    nx.draw_networkx_nodes(G,pos,node_color=range(14))

    nx.draw_networkx_nodes(G,pos,node_color=nodes_col)
    nx.draw_networkx_edges(G, pos,edge_color='#7B68EE',width=2)
    plt.show()
    '

    result:

  • 相关阅读:
    函数响应式编程
    RxSwift
    Swift 5.1 新语法
    MVVM
    SwiftUI 九
    SwiftUI 八
    SwiftUI制作View可嵌套组件
    Swift 5.1 新语法
    MVVM
    Linux系统修改hostname,不用重启
  • 原文地址:https://www.cnblogs.com/Ann21/p/13305682.html
Copyright © 2011-2022 走看看