json グラフ形式をエクスポートする方法が networkx にあるはずですが、表示されません。これは nx.to_dict_of_dicts() で簡単にできるはずですが、少し操作が必要になると思います。シンプルでエレガントなソリューションを知っている人はいますか?
23895 次
6 に答える
17
このドキュメントには完全な説明が含まれています
簡単な例は次のとおりです。
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の素敵な例もご覧ください。
于 2011-12-30T15:28:13.120 に答える
8
これは、結果を読み戻すコードとともに、私が行ったばかりの JSON アプローチです。必要な場合に備えて、ノードとエッジの属性を保存します。
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
于 2011-09-25T01:03:37.380 に答える
0
ノードとエッジは十分な情報ですか?もしそうなら、あなたはあなた自身の関数を書くことができます:
json.dumps(dict(nodes=graph.nodes(), edges=graph.edges()))
于 2010-07-02T02:44:33.053 に答える