我有一个关键点很少的图表,我想在它们之间添加更多的冗余节点。因此,如果我具有A-> B-> C,我希望得到A-> A0-> A1-> A2-> B-> B0-> B1-B2-> ç
中间节点应位于A-> B和B-> C之间的相同线性边缘上。
看起来该操作被称为subdivision and smoothing。有没有办法使用networkx?
答案 0 :(得分:1)
如何使用Graph.add_path?
In [1]: import networkx as nx
In [2]: G = nx.Graph()
In [3]: G.add_edge('A','B')
In [4]: G.add_path(['A','A0','A1','A2','B'])
In [5]: G.remove_edge('A','B')
In [6]: G.edges()
Out[6]: [('A', 'A0'), ('A0', 'A1'), ('B', 'A2'), ('A1', 'A2')]