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力定向算法定位节点。

参数:
  • G网络图或节点列表 )--一个位置将分配给G中的每个节点。
  • kfloat (default=None) )--节点之间的最佳距离。如果没有,则距离设置为1/sqrt(n),其中n是节点数。增加该值可将节点移动得更远。
  • posdict or None optional (default=None) )--节点作为字典的初始位置,节点作为键,值作为坐标列表或元组。如果没有,则使用随机初始位置。
  • 固定的list or None optional (default=None) )--在初始位置保持固定的节点。
  • 迭代int optional (default=50) )--最大迭代次数
  • 门槛float optional (default = 1e-4) )--节点位置变化的相对误差阈值。如果错误低于此阈值,则迭代将停止。
  • 重量string or None optional (default='weight') )--保留用于边缘权重的数值的边缘属性。如果没有,则所有边权重都为1。
  • 规模数字(默认值:1) )--位置的比例因子。不使用除非 fixed is None .
  • 中心array-like or None )--以布局为中心的坐标对。不使用除非 fixed is None .
  • dimint )--布局尺寸。
  • seedint, RandomState instance or None optional (default=None) )--为确定性节点布局设置随机状态。如果int, seed 是随机数生成器使用的种子,如果是numpy.random.randomstate实例, seed 是随机数生成器,如果没有,则随机数生成器是numpy.random使用的randomstate实例。
返回:

pos --由节点键控的位置字典。

返回类型:

dict

实际案例

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

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