我有这张图表:
%matplotlib inline
import networkx as nx
G = nx.Graph()
G.add_edge(1, 2)
G.add_edge(2, 3)
G.add_edge(3, 4)
G.add_edge(3, 5)
G.add_edge(4, 6)
G.add_edge(5, 6)
G.add_edge(3, 7)
G.add_edge(7, 6)
G.add_edge(6, 8)
G.add_edge(8, 9)
nx.draw(G, pos=nx.spring_layout(G), with_labels=True)
如果不使用nx.subgraph(G, [3,4,5,6,7])
,是否有可能获得节点3和6之间的子图。我的意思是,如果我知道有这个子图,但是我不知道例如5的存在怎么办?
G.add_edges_from([(3,10),(10,11),(11,6)])
向你的图添加了三条边(这将创建一条从 3 到 6 的新路径,但是它会穿过节点 10 和 11,所以比其他路径更长) - 你想让 10 和 11 在你的子图中吗? - JoelG.add_edges_from([(1, 2), (2, 3), (3, 4), (3, 5), (4, 6), (5, 6), (3, 7), (7, 6), (6, 8), (8, 9)])
更紧凑地生成您的图形,因此您可能需要编辑您的问题以显示它。 - Joel