arf_layout#
- arf_layout(G, pos=None, scaling=1, a=1.1, etol=1e-06, dt=0.001, max_iter=1000, *, seed=None)[source]#
NetworkX 的 Arf 布局
吸引力和排斥力 (arf) 布局 [1] 在三个方面改进了弹簧布局。首先,它防止了由于节点之间强力作用导致高度连接节点拥堵。其次,它通过防止弹簧布局容易产生的较大空白,更有效地利用了布局空间。最后,arf 布局比默认的弹簧布局更好地展现了布局中的对称性。
- 参数:
- Gnx.Graph 或 nx.DiGraph
NetworkX 图。
- posdict
节点的初始位置。如果设置为 None,将使用随机布局。
- scalingfloat
缩放圆形布局空间的半径。
- afloat
连接节点之间弹簧的强度。应大于 1。a 越大,非连接子簇的分离越清晰。
- etolfloat
弹簧力的梯度和必须大于
etol
算法才能成功终止。- dtfloat
力微分方程模拟的时间步长。
- max_iterint
算法终止前的最大迭代次数。
- seedint, RandomState 实例或 None 可选 (默认值=None)
设置随机状态以实现确定性节点布局。如果为 int,则
seed
是随机数生成器使用的种子;如果为 numpy.random.RandomState 实例,则seed
是随机数生成器本身;如果为 None,则使用 numpy.random 使用的 RandomState 实例。- 参考文献
- .. [1] “Self-Organization Applied to Dynamic Network Layout”, M. Geipel,
International Journal of Modern Physics C, 2007, Vol 18, No 10, pp. 1537-1549. https://doi.org/10.1142/S0129183107011558 https://arxiv.org/abs/0704.1748
- 返回:
- posdict
一个以节点为键的位置字典。
示例
>>> G = nx.grid_graph((5, 5)) >>> pos = nx.arf_layout(G)