跳到内容

使用GEM力导向布局算法在平面上放置顶点。

用法

layout_with_gem(
  graph,
  coords = NULL,
  maxiter = 40 * vcount(graph)^2,
  temp.max = max(vcount(graph), 1),
  temp.min = 1/10,
  temp.init = sqrt(max(vcount(graph), 1))
)

with_gem(...)

参数

graph

输入图。 边方向被忽略。

坐标

如果不是NULL,则起始坐标应在此处给出,以两列或三列矩阵的形式,具体取决于dim参数。

maxiter

要执行的最大迭代次数。更新单个顶点计为一次迭代。合理的默认值为40 * n * n,其中n是顶点数。原始论文建议4 * n * n,但这通常只有在仔细设置其他参数时才有效。

temp.max

允许的最大局部温度。合理的默认值为顶点数。

temp.min

算法终止时的全局温度(即使在达到maxiter迭代之前)。合理的默认值为1/10。

temp.init

所有顶点的初始局部温度。合理的默认值为顶点数的平方根。

...

传递给layout_with_gem()

一个数值矩阵,具有两列,且行数与顶点数相同。

详细信息

有关该算法的详细信息,请参见引用的论文。

参考文献

Arne Frick, Andreas Ludwig, Heiko Mehldau: A Fast Adaptive Layout Algorithm for Undirected Graphs, Proc. Graph Drawing 1994, LNCS 894, pp. 388-403, 1995.

作者

Gabor Csardi csardi.gabor@gmail.com

示例


set.seed(42)
g <- make_ring(10)
plot(g, layout = layout_with_gem)