当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python NetworkX spring_layout用法及代码示例


本文简要介绍 networkx.drawing.layout.spring_layout 的用法。

用法:

spring_layout(G, k=None, pos=None, fixed=None, iterations=50, threshold=0.0001, weight='weight', scale=1, center=None, dim=2, seed=None)

使用Fruchterman-Reingold force-directed算法定位节点。

该算法模拟网络的force-directed 表示,将边视为使节点靠近的弹簧,同时将节点视为排斥对象,有时称为反重力。模拟继续进行,直到位置接近平衡。

有一些 hard-coded 值:节点之间的最小距离 (0.01) 和 0.1 的 “temperature” 以确保节点不会飞走。在模拟过程中,k 帮助确定节点之间的距离,但在模拟结束时重新缩放后,scalecenter 确定大小和位置。

修复一些节点不允许它们在模拟中移动。它还会在模拟结束时关闭重新缩放函数。此外,将scale 设置为 None 会关闭重新缩放。

参数

GNetworkX 图或节点列表

G 中的每个节点都会分配一个位置。

k浮点数(默认=无)

节点之间的最佳距离。如果没有,则距离设置为 1/sqrt(n),其中 n 是节点数。增加此值可将节点移得更远。

posdict 或 None 可选(默认=无)

节点的初始位置作为字典,节点作为键,值作为坐标列表或元组。如果没有,则使用随机初始位置。

fixed列表或无可选(默认=无)

节点保持固定在初始位置。不在G.nodes 中的节点将被忽略。 ValueError 如果指定了 fixed 而未指定 pos,则会引发 ValueError。

iterationsint 可选(默认=50)

最大迭代次数

threshold: float optional (default = 1e-4)

节点位置变化相对误差的阈值。如果误差低于此阈值,则迭代停止。

weight字符串或无可选(默认='weight')

保存用于边权重的数值的边属性。更大意味着更强的吸引力。如果无,则所有边权重为 1。

scale数字或无(默认值:1)

位置的比例因子。除非 fixed is None 否则不使用。如果 scale 为 None,则不执行重新缩放。

center类似数组或无

使布局居中的坐标对。除非 fixed is None 否则不使用。

dimint

布局的维度。

seedint、RandomState 实例或 None 可选(默认 = None)

设置确定性节点布局的随机状态。如果是 int,seed 是随机数生成器使用的种子,如果是 numpy.random.RandomState 实例,seed 是随机数生成器,如果是 None,则随机数生成器是 numpy 使用的 RandomState 实例。随机的。

返回

posdict

由节点键入的位置字典

例子

>>> G = nx.path_graph(4)
>>> pos = nx.spring_layout(G)

# 同样使用更长但等效的函数名 >>> pos = nx.fruchterman_reingold_layout(G)

相关用法


注:本文由纯净天空筛选整理自networkx.org大神的英文原创作品 networkx.drawing.layout.spring_layout。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。