【发布时间】:2021-09-23 04:36:24
【问题描述】:
输入:我得到了一些n。我从 [0, 1] 随机均匀地生成 n 点。所以,这些点是元组 (x, y)。
然后我将此节点列表添加到NetworkX 图形对象中。现在,我想连接边缘,如右图所示。也就是说,图是连接的(您可以使用一定数量的边从任何地方到任何地方),但不一定是 Erdos Renyi 图。
我不确定这种图的术语是什么 - 没有重叠边图?但是是否可以使用 Networkx 为这样的图生成边?
【问题讨论】:
输入:我得到了一些n。我从 [0, 1] 随机均匀地生成 n 点。所以,这些点是元组 (x, y)。
然后我将此节点列表添加到NetworkX 图形对象中。现在,我想连接边缘,如右图所示。也就是说,图是连接的(您可以使用一定数量的边从任何地方到任何地方),但不一定是 Erdos Renyi 图。
我不确定这种图的术语是什么 - 没有重叠边图?但是是否可以使用 Networkx 为这样的图生成边?
【问题讨论】:
从欧几里得空间中的点派生的网络通常称为几何图。没有重叠边的图称为平面图。由于您已将所有边都绘制为直线,因此我假设您对 planar, straight-line graphs (PSLGs) 特别感兴趣。
有several generators for geometric graphs in networkx,但是,我不确定它们中的任何一个是否一定会遵守平面性约束(感觉如果您以智能方式选择阈值参数,您可以强制 geographical_treshold_graph 这样做,但我我想不出解决办法)。
就我个人而言,我会从我的随机点开始,然后通过计算在scipy.spatial 中实现的Delaunay triangulation 来获得边缘。然后,我将对边缘进行二次采样(取决于任务)并在 networkx/igraph/graph-tool 中创建我的图形对象。
【讨论】: