通过 x,y 坐标限制确定子图的最有效方法?
Most efficient way to determine subgraph by x,y coordinate limits?
对于具有 NetworkX 中每个节点坐标信息的图表,我希望能够创建提供 x、y 限制的子图 [(min_x, max_x), (min_y, max_y)]
。
我是否需要提取所有坐标并根据我的约束手动检查它们
list(zip(*graph.nodes(data = "pos")))
或者有更直接或更简单的方法来解决这个任务吗?
非常感谢您。
我
可以使用networkx的subgraph view。所以,像这样:
def select_by_coords(xmin, xmax, ymin, ymax):
def inner_select(node):
node_dict = dict(node)
return xmin < node_dict['x'] < xmax && ymin < node_dict['y'] < ymax
return inner_select
subgraph = subgraph_view(graph, filter_node=select_by_coords(xmin, xmax, ymin, ymax))
对于具有 NetworkX 中每个节点坐标信息的图表,我希望能够创建提供 x、y 限制的子图 [(min_x, max_x), (min_y, max_y)]
。
我是否需要提取所有坐标并根据我的约束手动检查它们
list(zip(*graph.nodes(data = "pos")))
或者有更直接或更简单的方法来解决这个任务吗?
非常感谢您。 我
可以使用networkx的subgraph view。所以,像这样:
def select_by_coords(xmin, xmax, ymin, ymax):
def inner_select(node):
node_dict = dict(node)
return xmin < node_dict['x'] < xmax && ymin < node_dict['y'] < ymax
return inner_select
subgraph = subgraph_view(graph, filter_node=select_by_coords(xmin, xmax, ymin, ymax))