networkx - 通过 x,y 坐标限制确定子图的最有效方法?
问题描述
对于具有 NetworkX 中每个节点的坐标信息的图,我希望能够创建提供 x, y 限制的子图[(min_x, max_x), (min_y, max_y)]
。我是否需要提取所有坐标并根据我的约束手动检查它们
list(zip(*graph.nodes(data = "pos")))
或者有没有更直接或更简单的方法来解决这个任务?
非常感谢您提前。我
解决方案
您可以使用 networkx 的子图视图。所以,像:
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))
推荐阅读
- javascript - VSC 扩展调用依赖于 Config.txt 文件的 python 脚本。从命令面板调用脚本时找不到 config.txt
- mongodb - 如何使用 ReactiveMongo + Play Json 将日期/时间存储到 mongodb
- javascript - 将鼠标悬停在 div 上时显示其转换
- c# - Discord 机器人不发送图像
- oracle - Oracle 版本 19 上的快速刷新物化视图
- python - 如何让 AWS Chalice 使用 pyenv virtualenv python 版本?
- parsing - 如何根据一组 ABNF 语法规则对输入进行标记
- c++ - 如何访问地图的值
> 在 C++ 中? - c - 精度为 0.00001 的泰勒级数(打印与用户输入的值相同的值)C 代码
- hibernate - Hibernate 从其他表中获取字段