Я пытаюсь создать двудольный граф, который содержит изолированный узел, тем не менее, nx.bipartite_layout соединяет его с другими узлами.Как я могу предотвратить это?
Я попытался реструктурировать график многими способами, но он работает хорошо только тогда, когда все узлы имеют хотя бы одно ребро.
Этот код можно использовать длявоспроизведите проблему:
G = nx.dense_gnm_random_graph(6, 9, 5)
G.remove_edges_from([(3,1), (3,4), (3,5), (4,5)])
print(G.edges())
# prints [(0, 2), (0, 4), (2, 3), (2, 4), (2, 5)]
nx.draw(G, pos=nx.bipartite_layout(G, list(G.nodes())[:len(G.nodes())//2]), node_color='gray',with_labels=True)
# produces a graph with node 1 tied to 0 and 2 (even though it is an isolate)
Предполагается, что фактическим выходным сигналом является график, на котором 1 все еще изолирован.