删除igraph顶点,但保留R中的所有边

时间:2019-05-05 14:17:23

标签: r igraph

是否有一种方法可以删除(或选择性地显示)顶点,但保留igraph图中的边?例如,在下面的代码中,我们删除顶点,但是这会删除它们之间的边。我的目标是突出显示特定节点,但保留所有边缘。

g <- make_ring(10) %>%
  set_vertex_attr("name", value = LETTERS[1:10])
g
V(g)

g2 <- delete_vertices(g, c(1,5)) %>%
  delete_vertices("B")
g2
V(g2)

1 个答案:

答案 0 :(得分:2)

如果删除顶点,则边不再有意义。但是,如果只想不显示顶点,则可以只使用vertex.size=0

plot(g, vertex.size=0)

Nodes not displayed.

如果您甚至不想看到节点名称,请添加vertex.label=NA

通过向量顶点大小和标签可以只显示一个节点

VS = rep(0, vcount(g))
VS[2] = 14
VL = rep(NA, vcount(g))
VL[2] = V(g)$name[2]

VFC = rep(NA, vcount(g))
VFC[2] = "black"
VC = rep(NA, vcount(g))
VC[2] = 1

plot(g, vertex.size=VS, vertex.label=VL, vertex.color=VC,
    vertex.frame.color=VFC)

Just one node