Networkx中移除图特定边并生成新邻接矩阵的技术需求
移除特定顶点关联边并生成新邻接矩阵
我正在生成一个包含顶点和边的图,需要移除连接特定顶点的所有边并生成新的邻接矩阵。以下是当前实现代码、当前输出图以及标注需移除边(红叉标记)的预期输出图。
import networkx as nx import numpy as np N=2 def pos(): x, y = 1, N + 3 -1 for _ in range(2 * N * (N + 1)): yield (x, y) y -= (x + 2) // (N + 3) x = (x + 2) % (N + 3) G = nx.Graph() it_pos = pos() for u in range(2 * N * (N + 1)): G.add_node(u+1, pos=next(it_pos)) if u % (2 * N + 1) < N: for v in (u - 2 * N - 1, u - N - 1, u - N): if G.has_node(v + 1): G.add_edge(u + 1, v + 1) elif u % (2 * N + 1) == N: G.add_edge(u + 1, u - N + 1) elif u % (2 * N + 1) < 2 * N: for v in (u - 1, u - N - 1, u - N): G.add_edge(u + 1, v + 1) else: for v in (u - 1, u - N - 1): G.add_edge(u + 1, v + 1) nx.draw(G, nx.get_node_attributes(G, 'pos'), with_labels=True, font_weight='bold') Nodes=len(G.nodes) A=nx.adjacency_matrix(G).todense() A = np.squeeze(np.asarray(A))
当前输出图:
预期输出图:
内容的提问来源于stack exchange,提问作者modishah123
相关产品推荐
相关产品推荐

