删除R中的节点并保持图形的布局固定

tgr*_*ter 2 r igraph

我尝试创建网络布局的图片(最终说明网络如何随着时间的推移而改变).我的apprach是创建一个最终网络(参见net0),然后逐个节点(及其边缘)删除.

如何确保图表的布局保持不变?(并且不重新缩放!)最终目标:具有不同节点数但具有与最终图net0中定义的完全相同的布局的图的序列

我的方法:

  1. 将相同的布局添加到简化的网络图中为我提供了相同的布局,但先前删除的节点不会消失
  2. 只取一部分原始布局,然后我的图表重新缩放.

码:

library(igraph)
data <- structure(c( "A","A","D","D","F","G","B","B","D","G","D","G","G","F","H","H","G","D","I","I"),.Dim = c(10L, 2L), .Dimnames = list(NULL,c("source","target")))
layout <-structure(c(-3.26,-5.50,-2.33,0.48,-3.37,-7.44,-10.00,-8.32,-5.09,-5.19,-3.15,-2.22,-1.9,-4.00),.Dim = c(7L, 2L), .Dimnames = list(NULL, c("coordinate.1", "coordinate.2")))


net0 <- graph.edgelist(data, directed=FALSE) 
par(pin=c(9, 4.7), mai=c(0.5, 0.1, 0.15, 0.1))

plot(net0, layout=layout)

net <- delete.edges(net0, c(9,10))
net <- delete.vertices(net, c("I")) 
plot(net, layout=layout)

net <- delete.edges(net0, c(9,10)) 
net <- delete.vertices(net, c("I")) 
plot(net, layout=layout[1:6,])
Run Code Online (Sandbox Code Playgroud)

Gab*_*rdi 7

添加布局as xy顶点属性:

V(net0)$x <- layout[,1]
V(net0)$y <- layout[,2]
Run Code Online (Sandbox Code Playgroud)

这些自动使用plot(),看到?layout.auto的默认布局.