Mon*_*ica 22 networking plot r igraph
尝试在R中进行网络绘图.如何使用IGraph延长网络图中的边缘?
我其实想要使用fruchterman-reingold布局.有没有什么方法可以使基于力的算法"更加弹性",以便我的顶点更远?
谢谢.
Sac*_*amp 16
您可以使用该layout.fruchterman.reingold功能控制Fruchterman-Reingold算法.见:help('layout.fruchterman.reingold').我经常使用的设置让你有更多的间距:
l <- layout.fruchterman.reingold(g,niter=500,area=vcount(g)^2.3,repulserad=vcount(g)^2.8)
plot(g,layout=l)
Run Code Online (Sandbox Code Playgroud)
g你的图形对象在哪里.最好只为图表测试这些参数的不同值,看看哪些有效.特别是repulserad影响图表中的间距.默认值是节点数的平方,因此较高的值应该可以获得更多的间隔图.
小智 7
如果layout.fruchterman.reingold算法仍然没有通过调整参数给出您想要的内容,只需执行以下操作即可.每个布局都返回一组坐标,x和y坐标分别位于第一列和第二列.您可以在此处应用您喜欢的任何转换,如果您只想缩放它,只需使用即可
L = layout.fruchterman.reingold(G)*s; #Scaling factor s
Run Code Online (Sandbox Code Playgroud)
当然也可以进行更多花哨的转换.仅供记录,您还可以使用鼠标手动编辑布局tkplot(G, layout=L).您可以通过返回坐标L = tkplot.getcoords(1).