node_link_graph#
- node_link_graph(data, directed=False, multigraph=True, *, source='source', target='target', name='id', key='key', edges=None, nodes='nodes', link=None)[source]#
从节点-链接数据格式返回图。
适用于从 JSON 反序列化。
- 参数:
- datadict
节点-链接格式的图数据
- directedbool
如果为 True,并且数据中未指定方向,则返回有向图。
- multigraphbool
如果为 True,并且数据中未指定多重图,则返回多重图。
- sourcestring
一个字符串,提供用于存储 NetworkX 内部图数据的 'source' 属性名称。
- targetstring
一个字符串,提供用于存储 NetworkX 内部图数据的 'target' 属性名称。
- namestring
一个字符串,提供用于存储 NetworkX 内部图数据的 'name' 属性名称。
- keystring
一个字符串,提供用于存储 NetworkX 内部图数据的 'key' 属性名称。
- edgesstring
一个字符串,提供用于存储 NetworkX 内部图数据的 'edges' 属性名称。
- nodesstring
一个字符串,提供用于存储 NetworkX 内部图数据的 'nodes' 属性名称。
- linkstring
自 3.4 版起已弃用:
link
参数已弃用,并将在3.6
版中移除。请改用edges
关键字。一个字符串,提供用于存储 NetworkX 内部图数据的 'edges' 属性名称。
- 返回值:
- GNetworkX graph
一个 NetworkX 图对象
注意
属性 'key' 仅用于多重图。
要将
node_link_data
与node_link_graph
结合使用,属性的关键字名称必须匹配。示例
通过转换图创建节点-链接格式的数据。
>>> from pprint import pprint >>> G = nx.Graph([("A", "B")]) >>> data = nx.node_link_data(G, edges="edges") >>> pprint(data) {'directed': False, 'edges': [{'source': 'A', 'target': 'B'}], 'graph': {}, 'multigraph': False, 'nodes': [{'id': 'A'}, {'id': 'B'}]}
将节点-链接格式的数据还原为图。
>>> H = nx.node_link_graph(data, edges="edges") >>> print(H.edges) [('A', 'B')]
要使用 JSON 序列化和反序列化图,
>>> import json >>> d = json.dumps(nx.node_link_data(G, edges="edges")) >>> H = nx.node_link_graph(json.loads(d), edges="edges") >>> print(G.edges, H.edges) [('A', 'B')] [('A', 'B')]