Вы можете использовать draw_networkx
для этого:
import networkx as nx
import matplotlib.pyplot as plt
nodes = [i for i in range(10)]
edges = [(i, i+1) for i in range(5)]
G = nx.Graph()
G.add_nodes_from(nodes)
G.add_edges_from(edges)
positions = {}
for node in nodes:
positions[node] = (node, node)
nx.draw_networkx(G, pos=positions)
Я генерирую график из 10 узлов с некоторыми ребрами, а затем определяю dict
, где ключи - это узлы (здесь от 1 до 10)), а значения - координаты в формате (x, y). В этом примере я расположил узлы вдоль линии.
Затем, на следующей итерации, просто удалите узлы, которые вам не нужны, и передайте тот же дикт. Он пропустит пропущенные узлы и просто отобразит те, которые все еще присутствуют на графике:
G.remove_nodes_from([5,6])
nx.draw_networkx(G, pos=positions)
Вы должны увидеть пропавшие узлы 5 и 6. .draw_networkx
опирается на matplotlib
, так что вы можете делать многие вещи, разрешенные этой библиотекой. Подробнее здесь .
Надеюсь, это поможет!