如果您从 R 中使用 igraph,请使用此选项
layout_with_graphopt {igraph} | R 文档 |
一种力导向布局算法,可以相对较好地扩展到大型图。
layout_with_graphopt(
graph,
start = NULL,
niter = 500,
charge = 0.001,
mass = 30,
spring.length = 0,
spring.constant = 1,
max.sa.movement = 5
)
with_graphopt(...)
图 |
输入图。 |
开始 |
如果给定,则它应该是一个具有两列的矩阵,每行对应一个顶点。该矩阵将用作算法的起始位置。如果未给定,则使用随机起始矩阵。 |
niter |
整数标量,要执行的迭代次数。一般来说应该是几百次。如果您的图很大,那么您可能只想进行几次迭代,然后检查结果。如果结果不够好,您可以将其再次输入到 |
charge |
顶点的电荷,用于计算电斥力。默认值为 0.001。 |
mass |
顶点的质量,用于弹簧力。默认值为 30。 |
spring.length |
弹簧的长度,一个整数。默认值为零。 |
spring.constant |
弹簧常数,默认值为 1。 |
max.sa.movement |
实数常数,它给出了沿单个轴单步允许的最大移动量。默认值为 5。 |
... |
传递给 |
layout_with_graphopt
是 Michael Schmuhl 的 graphopt 布局算法的一个移植版本。 graphopt 0.4.1 版本是用 C 语言重写的,并且删除了对层的支持(可能会在以后添加),并且代码经过了一些重组,以避免在节点电荷(见下文)为零时的一些不必要的步骤。
graphopt 使用物理类比来定义顶点之间的吸引力和排斥力,然后模拟物理系统直到达到平衡。(没有模拟退火或类似的机制,因此不能保证稳定的固定点。)
另请参见 http://www.schmuhl.org/graphopt/ 以获取原始 graphopt。
一个具有两列的数值矩阵,每行对应一个顶点。
Michael Schmuhl 编写了原始 graphopt 代码,Gabor Csardi 重写并封装了代码 csardi.gabor@gmail.com。
其他图布局: add_layout_()
, component_wise()
, layout_as_bipartite()
, layout_as_star()
, layout_as_tree()
, layout_in_circle()
, layout_nicely()
, layout_on_grid()
, layout_on_sphere()
, layout_randomly()
, layout_with_dh()
, layout_with_fr()
, layout_with_gem()
, layout_with_kk()
, layout_with_lgl()
, layout_with_mds()
, layout_with_sugiyama()
, layout_()
, merge_coords()
, norm_coords()
, normalize()