如何为矩阵Networkx分配节点名称?

特拉夫78

我正在尝试在NetworkX中绘制图形。该网络连接30个节点和大约130个边缘。使用权重矩阵设置节点

A = [
    [0, 1.51, 0, 1.71, 0],
    [0, 0, 2.11, 1.81, 2.31],
    [0, 0, 0, 1.31, 1.41],
    [0, 0, 0, 0, 1.11],
    [0, 0, 0, 0, 0]]

如何从列表中将节点的名称分配给矩阵("A1", "K2", ... "Z30")到目前为止,我只能为数字分配名称。

import matplotlib.pyplot as plt
import networkx as nx
import numpy as np

A = [[0, 1.51, 0, 1.71, 0],
     [0, 0, 2.11, 1.81, 2.31],
     [0, 0, 0, 1.31, 1.41],
     [0, 0, 0, 0, 1.11],
     [0, 0, 0, 0, 0]]

G = nx.from_numpy_matrix(np.matrix(A), create_using=nx.DiGraph)

layout = nx.spring_layout(G)
labels = nx.get_edge_attributes(G, "weight")
lab_node = dict((i, str(i)*3) for i in range(5))
nx.draw(G, layout)
nx.draw_networkx_nodes(G, layout, node_size=500)
nx.draw_networkx_edge_labels(G, layout, edge_labels=labels)
nx.draw_networkx_labels(G, layout, labels=lab_node, font_size=10, font_family='sans-serif')
plt.show()
Itamar Mushkin

作为一个简单的解决方法,您可以将邻接矩阵A转换为熊猫DataFrame,其列/索引是所需的标签:

import pandas as pd
import networkx as nx

A = [
    [0, 1.51, 0, 1.71, 0],
    [0, 0, 2.11, 1.81, 2.31],
    [0, 0, 0, 1.31, 1.41],
    [0, 0, 0, 0, 1.11],
    [0, 0, 0, 0, 0]]

labels = ['alice', 'bob', 'charlie', 'dan', 'ellie']

要创建DataFrame:

A2 = pd.DataFrame(A, index=labels, columns=labels)

通过绘制结果来检查结果,没有其他标签设置(表明我们已经正确设置了结果):

nx.draw_networkx(nx.from_pandas_adjacency(A2))

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用networkx在图中显示节点名称?

如何为某些节点分配名称空间?

如何重命名XML节点名称

如何从QTreeView返回节点名称

如何替换 XML 的子节点名称

如何根据节点名称设置节点链接颜色?

如何从节点集中生成唯一的节点名称?

如何返回对象属性名称作为节点名称

使用默认为节点名称的节点标签绘制networkx图

如何为networkx中的不同节点组分配不同的颜色图

如何使用Graphviz和libcgraph获取节点名称?

如何从Jenkins管道脚本中的标签获取节点名称

如何在jenkinsfile中获取代理/节点名称?

当变量等于节点名称时,XSLT如何获取值?

如何在xquery搜索中用节点名称替换变量

如何检测skspritekit中的碰撞节点名称?

如何为屏幕分配名称?

如何在 XSLT 中访问具有动态节点名称的节点的子节点

xslt如何获得相同节点名称也是子节点的情况下的父节点位置

根节点斜线与根节点名称

根据列名称为NetworkX节点分配颜色

如果未分配节点名称,IEX和ERL的启动速度将非常慢

如何从 XmlDocument 中读取带有节点名称的所有节点值

如何遍历kubectl的节点列表,并回显每个节点名称?

如何在Firebase Android中检索节点名称和节点属性

给定张量流模型图,如何查找输入节点和输出节点名称

如何为隐藏字段分配相同的名称?

jQuery如何为变量分配名称(动态)

如何为pytorch图层分配名称?