如何使用自定义ID在nxGraph中创建新节点,或重新标记ID?我试图更改的属性是ID标签设置为' 0':
graph [
node [
id 0
label "Category:Class-based_Programming_Languages"
]
我试图这样做,但它没有工作:
G = nx.Graph()
pageid = 12345
G.add_node('test', id = pageid)
但这不会改变“身份证”。价值,而不是直接忽略。在Python程序中可以看到更改的id,但问题在于使用write_gml函数。它不会改变该id值。有谁知道我怎么能这样做?谢谢!
答案 0 :(得分: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}