グラフ内の異なるエッジのノードを比較したいと思います。エッジ(n1、n2)からノード(n1とn2)を取得するにはどうすればよいですか?
6037 次
2 に答える
4
NetworkXのエッジはそのノードによって定義されるため、ここで何を求めているのかよくわかりません。グラフの特定のエッジは、オプションの重み付きのノードのタプルです。
import networkx as nx
g = nx.Graph()
g.add_edge(1,2)
g.add_edge(2,3)
g.edges()
与える
[(1, 2), (2, 3)]
ご覧のとおり、エッジのリストは各エッジのノードを明示的に提供します。
更新:これはあなたが望むことをしますか?
#!/usr/bin/python
import networkx as nx
import random
g = nx.Graph()
g.add_edges_from([(1,2),(2,3),(1,4),(2,5)])
random_edge = random.choice(g.edges())
print 'Randomly selected edge is:', random_edge
print 'Nodes are', random_edge[0], 'and', random_edge[1]
于 2010-05-01T14:52:25.720 に答える
0
私が意図した質問に対する答えは次のとおりです。
graph = networkx.read_graphml('some_fully_loaded_graph.graphml')
edge0 = list(graph.edges(data=True))[0]
subgraph = graph.edge_subgraph([edge0[:2]])
nodes0 = list(subgraph.nodes(data=True))
于 2021-03-10T21:12:43.450 に答える