首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将networkx图保存为json图的方法?

将networkx图保存为json图的方法?
EN

Stack Overflow用户
提问于 2010-07-02 10:21:20
回答 6查看 22.9K关注 0票数 27

似乎在networkx中应该有一种方法来导出json图形格式,但我没有看到它。我认为使用nx.to_dict_of_dicts()应该很容易做到这一点,但需要一些操作。有人知道一个简单而优雅的解决方案吗?

EN

回答 6

Stack Overflow用户

发布于 2011-12-30 23:28:13

documentation包含完整描述

下面是一个简单的例子:

代码语言:javascript
运行
复制
import networkx as nx
from networkx.readwrite import json_graph

DG = nx.DiGraph()
DG.add_edge('a', 'b')
print json_graph.dumps(DG)

您还可以查看有关将物理功能添加到图形可视化中的Javascript/SVG/D3示例。

票数 18
EN

Stack Overflow用户

发布于 2011-09-25 09:03:37

下面是我刚刚使用的一种JSON方法,以及读取结果的代码。它保存节点和边属性,以防您需要。

代码语言:javascript
运行
复制
import simplejson as json
import networkx as nx
G = nx.DiGraph()
# add nodes, edges, etc to G ...

def save(G, fname):
    json.dump(dict(nodes=[[n, G.node[n]] for n in G.nodes()],
                   edges=[[u, v, G.edge[u][v]] for u,v in G.edges()]),
              open(fname, 'w'), indent=2)

def load(fname):
    G = nx.DiGraph()
    d = json.load(open(fname))
    G.add_nodes_from(d['nodes'])
    G.add_edges_from(d['edges'])
    return G
票数 8
EN

Stack Overflow用户

发布于 2014-07-01 09:21:33

通常我使用以下代码:

代码语言:javascript
运行
复制
import networkx as nx; 
from networkx.readwrite import json_graph;
G = nx.Graph();
G.add_node(...)
G.add_edge(...)
....
json_graph.node_link_data(G)

它将创建json格式的图形,其中节点在nodes中,边在links中,以及有关图形的其他信息(方向性,...等)

票数 8
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3162909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档