1

如何使用自定义 ID 在 nxGraph 中创建新节点,或重新标记 ID?我要更改的属性是设置为“0”的 id 标签:

graph [
  node [
    id 0
    label "Category:Class-based_Programming_Languages"
  ]

我试过这样做,但没有奏效:

G = nx.Graph()
pageid = 12345
G.add_node('test', id = pageid)

但这不会改变“id”值,而是直接被忽略。更改后的 id 可以在 Python 程序上看到,但问题在于使用 write_gml 函数。它不会更改该 id 值。有谁知道我该怎么做?谢谢!

4

1 回答 1

1

节点属性可以按照您尝试的方式设置,但如果您尝试使用“紧凑”节点访问器访问它们,它们不会显示。各种方式如下图所示:

import networkx as nx

G = nx.Graph()
pageid = 12345
G.add_node('test', id = pageid)

# the basic node iterator doesn't show the attributes:    
print G.nodes()
>>> ['test']

# but here are some ways to access them:
print G.nodes(data=True)
>>> [('test', {'id': 12345})]

print nx.get_node_attributes(G, "id")
>>> {'test': 12345}

print G.node['test']
>>> {'id': 12345}
于 2017-03-21T12:46:09.573 回答