maxgramta等效于igraph 1.0中的Fruchterman-Reingold布局?

时间:2015-09-06 17:20:24

标签: r igraph

给定一个时间图(每个边都有一个时间属性)我有一个脚本来绘制使用Fruchterman-Reingold布局的图的演变。我的脚本基于这个示例:Temporal Networks with igraph and R with 20 lines of code

其中一个技巧是从最后一个快照t的布局开始计算当前snapshopt t-1的布局,然后使用maxdelta限制节点位移,以便是快照之间平滑过渡的感觉。这是一个动画示例:https://vimeo.com/53071346

在igraph 1.0中,布局函数layout.fruchterman.reingold变为layout_with_frmaxdelta参数消失,快照之间的转换过于跳跃。

我们怎样才能在igraph 1.0中达到同样的效果?

1 个答案:

答案 0 :(得分:2)

正如您所注意到的,Fruchterman-Reingold布局已在igraph 1.0中从头开始重写,class users extends item { function dothis() { $e = new events(); $e->set(array('start' => 'today', 'end' => 'tomorrow')); } } 参数作为“副作用”消失(新实现不支持它)。我不知道新的实现是否因为没有时间来实现而错过了这个论点,或者因为存在阻碍实现的固有限制,但不管怎样,请在GitHub上提出问题。我不能做出任何承诺,因为我没有编写代码的那部分,但也许很快就会重新添加。

同时,通过查看source code of the algorithm,似乎温度参数是最大位移的限制因素。您可以尝试将最大位移发送为maxdelta并将迭代次数设置为1 - 这将限制沿X轴和Y轴的位移start.temp

另一种选择是start.temp函数,它似乎支持使用layout.graphopt()参数直接限制最大位移。