Grid 如何将巨型构件的中心参照到外部坐标系?

Grid 如何将巨型构件的中心参照到外部坐标系?,grid,center,networkx,mathematical-lattices,Grid,Center,Networkx,Mathematical Lattices,我正在用Python(包:NetworkX)工作,它有一个由100个节点组成的网络。我创建了它,然后通过删除它的一部分节点(删除)将其分割,如下所示。脚本计算最大组件及其中心节点的长度 这给了我: len(giant)=29个和中心节点=[12,13] 删除后网络的外观: 我的网络嵌入在一个二维网格中,该网格测量(N+1)x(N+1),并且有自己的坐标系。将网络的每个节点视为放置在下方网格中每个单元的交点处: 我的问题:如何将中心节点=[12,13]给出的结果“转换”到网格中单元格A的位置?

我正在用Python(包:
NetworkX
)工作,它有一个由100个节点组成的网络。我创建了它,然后通过删除它的一部分节点(
删除
)将其分割,如下所示。脚本计算最大组件及其中心节点的长度

这给了我:
len(giant)=29个
中心节点=[12,13]

删除后网络的外观:

我的网络嵌入在一个二维网格中,该网格测量
(N+1)x(N+1)
,并且有自己的坐标系。将网络的每个节点视为放置在下方网格中每个单元的交点处:

我的问题:如何将
中心节点=[12,13]
给出的结果“转换”到网格中单元格A的位置?在本例中,我希望使用
center\u节点=[12,13]->center\u坐标=13

PS:如果我更改
删除
len(中心节点)
会更改,连接子图的形状也会更改。因此,单元格A将不在上述位置。为了说明这一点,我希望能够始终获得
中心节点
簇左上角单元的网格坐标,而不管其在网络中的形状和位置如何

import networkx as nx
import matplotlib.pyplot as plt
import numpy
N = 10
G=nx.grid_2d_graph(N,N)
pos = dict( (n, n) for n in G.nodes() )
labels = dict( ((i, j), i + (N-1-j) * N ) for i, j in G.nodes() )
nx.relabel_nodes(G,labels,False)
pos = {y:x for x,y in labels.iteritems()}
nx.draw_networkx(G, pos=pos, with_labels=True, node_size = 300)
plt.axis('off')
plt.show()
plt.close()
removal=numpy.array([1,5,18,23,54,8,36,95,41,75,77,56,29,39,81,76,27,34,52,50,53,64,45,85])
G.remove_nodes_from(removal)
nx.draw_networkx(G, pos=pos, with_labels=True, node_size = 300)
plt.axis('off')
plt.show()
giant = max(nx.connected_component_subgraphs(G), key=len) #The largest component
center_nodes = nx.center(giant) #The center node(s)
print len(giant)
print center_nodes