gpt4 book ai didi

python - 将 networkx DiGraph 打印为嵌套的 JSON 格式

转载 作者:太空宇宙 更新时间:2023-11-04 10:43:00 40 4
gpt4 key购买 nike

我有一个 networkx 有向图。

>> G = nx.DiGraph()
>> G.add_edges_from(product([0],[1,2])) # product is itertools.product
>> G.add_edges_from(product([1],[3,4]))

里面的图是这样的:

>> G.adj  
{0: {1: {}, 2: {}},
1: {3: {}, 4: {}},
2: {},
3: {},
4: {}}

我希望将其打印成如下所示的 json 格式:

{   
name: 0,
children: [
{
name: 1,
children: [
{
name: 3,
children: []
},
{
name: 4,
children: []
}
]
},
{
name: 2,
children:[]
}
]
}

(原因是,我试图以这种 D3 可视化采用的格式编写它。https://gist.github.com/mbostock/4063550)

我不知道该怎么做。非常感谢任何帮助。

谢谢。

最佳答案

您可以使用 json_graph.tree_data() 以嵌套格式输出数据。

来自 the documentation

from networkx.readwrite import json_graph
import networkx as nx
import json
G = nx.DiGraph([(1,2)])
data = json_graph.tree_data(G,root=1)
s = json.dumps(data)

它给出 {"id": 1, "children": [{"id": 2}]}

关于python - 将 networkx DiGraph 打印为嵌套的 JSON 格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19354650/

40 4 0
文章推荐: linux - 将文件添加到perl中的压缩文件夹
文章推荐: 引号中的python 2.7循环索引
文章推荐: c - linux上不解析/proc/cpuinfo获取CPU型号名称
文章推荐: javascript - Bootstrap - 如何在 JavaScript 中动态添加