跳到主要内容
Ctrl+K
NetworkX 3.4.2 documentation - Home
  • 安装
  • 教程
  • 后端
  • 参考
  • 画廊
  • 开发者
  • 版本发布
    • 指南
  • 主页
  • GitHub
  • 安装
  • 教程
  • 后端
  • 参考
  • 画廊
  • 开发者
  • 版本发布
  • 指南
  • 主页
  • GitHub

章节导航

  • 介绍
  • 图类型
  • 算法
  • 函数
  • 图生成器
  • 线性代数
  • 与其他数据格式的转换
  • 重新标记节点
  • 图的读取和写入
    • 邻接列表
    • 多行邻接列表
    • DOT
    • 边列表
    • GEXF
    • GML
    • GraphML
    • JSON
    • LEDA
    • SparseGraph6
    • Pajek
    • 矩阵市场
    • 网络文本
  • 绘图
  • 随机性
  • 异常
  • 工具函数
  • 后端
  • 配置
  • 词汇表
  • 参考
  • JSON
  • node_link_data

node_link_data#

node_link_data(G, *, source='source', target='target', name='id', key='key', edges=None, nodes='nodes', link=None)[source]#

以节点-链接格式返回数据,该格式适用于 JSON 序列化并在 JavaScript 文档中使用。

参数:
GNetworkX 图
source字符串

一个字符串,提供用于存储 NetworkX 内部图数据的“source”属性名称。

target字符串

一个字符串,提供用于存储 NetworkX 内部图数据的“target”属性名称。

name字符串

一个字符串,提供用于存储 NetworkX 内部图数据的“name”属性名称。

key字符串

一个字符串,提供用于存储 NetworkX 内部图数据的“key”属性名称。

edges字符串

一个字符串,提供用于存储 NetworkX 内部图数据的“edges”属性名称。

nodes字符串

一个字符串,提供用于存储 NetworkX 内部图数据的“nodes”属性名称。

link字符串

自版本 3.4 起已弃用: 参数 link 已弃用,并将在版本 3.6 中移除。请改用 edges 关键字。

一个字符串,提供用于存储 NetworkX 内部图数据的“edges”属性名称。

返回:
data字典

一个包含节点-链接格式数据的字典。

引发:
NetworkXError

如果“source”、“target”和“key”的值不是唯一的。

另请参阅

node_link_graph, adjacency_data, tree_data

说明

图、节点和链接属性以这种格式存储。请注意,为了符合 JSON 标准,属性键将被转换为字符串。

属性“key”仅用于多重图。

要将 node_link_data 与 node_link_graph 结合使用,属性的关键字名称必须匹配。

示例

>>> from pprint import pprint
>>> G = nx.Graph([("A", "B")])
>>> data1 = nx.node_link_data(G, edges="edges")
>>> pprint(data1)
{'directed': False,
 'edges': [{'source': 'A', 'target': 'B'}],
 'graph': {},
 'multigraph': False,
 'nodes': [{'id': 'A'}, {'id': 'B'}]}

使用 JSON 序列化

>>> import json
>>> s1 = json.dumps(data1)
>>> s1
'{"directed": false, "multigraph": false, "graph": {}, "nodes": [{"id": "A"}, {"id": "B"}], "edges": [{"source": "A", "target": "B"}]}'

图也可以通过将 node_link_data 作为编码器函数来序列化。

>>> s1 = json.dumps(G, default=nx.node_link_data)
>>> s1
'{"directed": false, "multigraph": false, "graph": {}, "nodes": [{"id": "A"}, {"id": "B"}], "links": [{"source": "A", "target": "B"}]}'

用于存储 NetworkX 内部图数据的属性名称可以指定为关键字选项。

>>> H = nx.gn_graph(2)
>>> data2 = nx.node_link_data(
...     H, edges="links", source="from", target="to", nodes="vertices"
... )
>>> pprint(data2)
{'directed': True,
 'graph': {},
 'links': [{'from': 1, 'to': 0}],
 'multigraph': False,
 'vertices': [{'id': 0}, {'id': 1}]}
本页内容
  • node_link_data()

© 版权所有 2004-2024,NetworkX 开发者。

使用 Sphinx 8.1.3 创建。

使用 PyData Sphinx Theme 0.15.4 构建。