从NetworkX向Python中的json对象添加节点元素
我使用networkx创建了一个json对象:从NetworkX向Python中的json对象添加节点元素,python,json,networkx,Python,Json,Networkx,我使用networkx创建了一个json对象: json_data = json_graph.node_link_data(network_object) 它的结构如下(我的输出的迷你版): 我要做的是将以下元素添加到每个节点,以便可以使用此数据作为输入: “x”:0, “y”:0, “尺寸”:3 “中心性”:0 尽管使用add\u node(),我似乎找不到一种有效的方法来实现这一点。是否有一些明显的方法可以添加我所缺少的属性?当您将数据作为networkx图形时,您可以使用该方法将属性(例
json_data = json_graph.node_link_data(network_object)
它的结构如下(我的输出的迷你版):
我要做的是将以下元素添加到每个节点,以便可以使用此数据作为输入:
“x”:0,“y”:0,
“尺寸”:3
“中心性”:0
尽管使用
add\u node()
,我似乎找不到一种有效的方法来实现这一点。是否有一些明显的方法可以添加我所缺少的属性?当您将数据作为networkx图形时,您可以使用该方法将属性(例如,存储在python字典中)添加到图形中的所有节点
在我的示例中,新属性存储在字典attr
中:
import networkx as nx
from networkx.readwrite import json_graph
# example graph
G = nx.Graph()
G.add_nodes_from(["a", "b", "c", "d"])
# your data
#G = json_graph.node_link_graph(json_data)
# dictionary of new attributes
attr = {"x": 0,
"y": 0,
"size": 3,
"centrality": 0}
for name, value in attr.items():
nx.set_node_attributes(G, name, value)
# check new node attributes
print(G.nodes(data=True))
然后,您可以使用导出JSON格式的新图形。当您将数据作为networkx图形时,您可以使用该方法将属性(例如存储在python字典中)添加到图形中的所有节点 在我的示例中,新属性存储在字典
attr
中:
import networkx as nx
from networkx.readwrite import json_graph
# example graph
G = nx.Graph()
G.add_nodes_from(["a", "b", "c", "d"])
# your data
#G = json_graph.node_link_graph(json_data)
# dictionary of new attributes
attr = {"x": 0,
"y": 0,
"size": 3,
"centrality": 0}
for name, value in attr.items():
nx.set_node_attributes(G, name, value)
# check new node attributes
print(G.nodes(data=True))
然后可以使用导出JSON格式的新图形