如何在不更改打印位置的情况下从igraph中删除顶点

如何在不更改打印位置的情况下从igraph中删除顶点,r,igraph,R,Igraph,我有一个包含100个顶点的图g,我想从这个图中删除一些顶点以得到g1,但是当我这样做时,我想保留g中每个顶点的位置。有可能这样做吗 par(mfrow=c(1,2)) g <- erdos.renyi.game(100, 1/100) comps <- clusters(g)$membership colbar <- rainbow(max(comps)+1) V(g)$color <- colbar[comps+1] V(g)$size<-seq(0.05,5,0

我有一个包含100个顶点的图g,我想从这个图中删除一些顶点以得到g1,但是当我这样做时,我想保留g中每个顶点的位置。有可能这样做吗

par(mfrow=c(1,2))
g <- erdos.renyi.game(100, 1/100)
comps <- clusters(g)$membership
colbar <- rainbow(max(comps)+1)
V(g)$color <- colbar[comps+1]
V(g)$size<-seq(0.05,5,0.05)
plot(g, layout=layout.fruchterman.reingold, vertex.label=NA)

g1<-g - c("1","2","7","10")
plot(g1, layout=layout.fruchterman.reingold, vertex.label=NA)
par(mfrow=c(1,2))

g您可以通过绘图保存布局位置
g

locs <- layout.fruchterman.reingold(g)
plot(g, layout=locs, vertex.label=NA)

您可以将位置存储为顶点属性
x
y
,删除顶点后它们将继续存在

locs <- layout_with_fr(g)
V(g)$x <- locs[, 1]
V(g)$y <- locs[, 2]
g1 <- delete_vertices(g, c(1, 2, 7, 10))
plot(g1, vertex.label=NA)

locs哇!谢谢,这太好了。
locs <- layout_with_fr(g)
V(g)$x <- locs[, 1]
V(g)$y <- locs[, 2]
g1 <- delete_vertices(g, c(1, 2, 7, 10))
plot(g1, vertex.label=NA)