NetworkX不显示节点的数据属性

2024-09-26 22:55:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我对NetworkX有这种奇怪的行为,它没有遵循基于documentation on the Graph object的预期。在

这是我的代码:

In [22]: G = nx.Graph()

In [23]: G.add_node("Roasted",attr_dict={"css_color":"#454463"})

In [24]: G["Roasted"]
Out[24]: {}

In [25]: G.nodes(data=True)
Out[25]: [('Roasted', {'css_color': '#454463'})]

In [23]我添加了一个带有属性字典的节点。在In [24]中,我只是像在字典上那样索引图G,并期望它返回{},但我得到了一个空字典。只有当我调用节点列表的打印输出并显示它们的数据时,我才能看到字典。在

文件显示:

^{pr2}$

您应该能够简单地通过索引节点名本身来获得字典。为什么我的案子没用?在

编辑:如果问题可能是我使用了字符串而不是int作为节点名,我尝试这样做:

In [29]: G.add_node(1,attr_dict={"css_color":"#454463"})

In [30]: G[1]
Out[30]: {}

问题依然存在!这是虫子吗???在


Tags: innetworkxaddnode字典节点ondocumentation
1条回答
网友
1楼 · 发布于 2024-09-26 22:55:08

您认为G["Roasted"]应该给出节点"Roasted"的属性是错误的根源。实际上,G["Roasted"]给出了"Roasted"的邻居的信息。它是一个空字典的事实表示您没有为"Roasted"分配任何邻居。在

import networkx as nx
G=nx.Graph()
G.add_edge(1,2)
G[1]
>{2: {}}

您需要使用的是G.node["Roasted"],而不是{}。在

相关问题 更多 >

    热门问题