如何在igraph中保留网络的一般形状?

问题描述 投票:2回答:1

我目前在igraph中有一个网络图,我正在运行模拟,看看特征的频率是如何随时间变化的:

  g <- erdos.renyi.game(1000, 1/1000)
  V(g)$nice <- sample(c(0, 1), vcount(g), replace = TRUE, prob = c(0.1, 0.9)

接下来,我有一个工作代码,可以修改几个“转弯”的网络。当我绘制网络图时会出现问题。我最初在t = 0处绘制网络图,并在t = 20左右再次绘制网络,以比较两者,看看它们是如何变化的。但是,节点的位置已从初始更改为最终。有没有办法可以保留实际图形中节点的位置? (即使节点4保持在某个坐标(a,b),尽管网络发生了变化)

r networking igraph
1个回答
1
投票

您可以使用layout参数重复相同的布局。首先,使用众多layout_参数中的一个创建布局,然后调用plot指定布局。如果使用相同的布局再次绘制,则节点将位于相同的位置。

LO_FR = layout_with_fr(g)
plot(g, layout=LO_FR, vertex.size=4, vertex.label=NA,
    main="layout_with_fr")

layout_with_fr

LO_N = layout_nicely(g)
plot(g, layout=LO_N, vertex.size=4, vertex.label=NA, 
    main="layout_nicely")

layout_nicely

键入help(package=igraph),然后向下滚动到名称以layout_开头的函数。尝试几个并选择一个你喜欢的。

© www.soinside.com 2019 - 2024. All rights reserved.