rustworkx.spring_layout#
- spring_layout(graph, pos=None, fixed=None, k=None, repulsive_exponent=2, adaptive_cooling=True, num_iter=50, tol=1e-06, weight_fn=None, default_weight=1, scale=1, center=None, seed=None)[source]#
使用Fruchterman-Reingold力导向算法定位节点。
算法模拟网络的力导向表现形式,将边视为将节点拉近的弹簧,同时将节点视为相互排斥的物体(有时称为反重力)。模拟持续进行,直到位置接近平衡状态。
- Parameters:
pos (dict) – 初始节点位置,作为字典格式,以节点ID为键,以坐标列表为值。 如果为
None,则使用随机初始位置。 (default=None)fixed (set) – 需要保持在初始位置的节点。 如果指定了 fixed 但未指定
pos则会引发错误。(default=None)k (float) – 节点间的最优距离。如果为
None,则距离被设置为 \(\frac{1}{\sqrt{n}}\),其中 \(n\) 是节点的数量。 增大数值将使节点间距离拉远。(default=None)repulsive_exponent (int) – 排斥力指数。(
默认值=2)adaptive_cooling (bool) – 使用自适应冷却方案。如果设为
False, 则采用线性冷却方案。(default=True)num_iter (int) – 最大迭代次数。
default=50tol (float) – 节点位置变化中相对误差的阈值。 如果误差低于此阈值,则迭代停止。 (
default = 1e-6)weight_fn – 一个可选的边权重函数。该函数接受一个参数(边的权重对象)并返回一个浮点数,该浮点数将被用作边的权重。
default_weight (float (default=1)) – 如果未指定
weight_fn, 此可选浮点值将用于每条边的权重/成本scale (float|None) – 位置的缩放因子。 除非 fixed 为 None 否则不使用。若 scale 为
None,则不会进行 重新缩放。(default=1.0)center (list) – 用于居中布局的坐标对。除非 fixed 为
None,否则不使用。(default=None)seed (int) – 一个用于随机数生成器的可选种子值
- Returns:
以节点id作为键的位置字典。
- Return type:
字典