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力定向算法定位节点。
该算法模拟了网络的一种力定向表示,将边视为保持节点闭合的弹簧,而将节点视为排斥对象,有时称为反重力力。模拟一直持续到位置接近平衡。
有一些硬编码值:节点之间的最小距离(0.01)和“温度”为0.1,以确保节点不会飞走。在模拟过程中,
k
但有助于确定节点之间的距离scale
和center
在模拟结束时重新缩放后确定大小和位置。固定一些节点不允许它们在模拟中移动。它还会在模拟结束时关闭重缩放功能。另外,设置
scale
到None
关闭重新缩放。- 参数
- G网络X图表或节点列表
将为G中的每个节点分配一个位置。
- k浮点(默认值=无)
节点之间的最佳距离。如果没有,则将距离设置为1/SQRT(N),其中n是节点数。增加该值可将节点移动得更远。
- posDICT或NONE可选(默认值=无)
节点的初始位置作为字典,节点作为键,值作为坐标列表或元组。如果没有,则使用随机初始位置。
- fixed列表或无可选(默认值=无)
节点保持在初始位置不变。节点不在
G.nodes
都被忽略了。在以下情况下引发ValueErrorfixed
指明的和pos
不。- iterationsINT可选(默认值=50)
最大迭代次数
- threshold: float optional (default = 1e-4)
节点位置变化的相对误差阈值。如果误差低于此阈值,迭代将停止。
- weight字符串或无可选(默认值=‘Weight’)
保存用于边权重的数值的边属性。规模越大,吸引力就越强。如果没有,则所有边权重为1。
- scale编号或无(默认为:1)
位置的比例因子。不使用,除非
fixed is None
。如果比例为None,则不执行任何重新缩放。- center类似数组或无
要围绕其居中布局的坐标对。不使用,除非
fixed is None
。- dim集成
布局的维度。
- seedINT、RandomState实例或无可选(默认值=无)
设置确定性节点布局的随机状态。如果为int,
seed
是随机数生成器使用的种子,如果numpy.随机.RandomState实例,seed
是随机数生成器,如果没有随机数生成器,则随机数生成器是numpy.Random使用的RandomState实例。
- 返回
- posDICT
按节点设置关键字的位置词典
实例
>>> G = nx.path_graph(4) >>> pos = nx.spring_layout(G)
#同样使用较长但等效的函数名>>>pos=nx.fruchterman_reingold_layout(g)