控制要更改igraph大小的节点
这看起来可能很简单,但我无法做到这一点。我想画两种类型的节点,小的和大的使用截止。这些值位于属性度中 下面是一个小玩具的例子控制要更改igraph大小的节点,r,igraph,R,Igraph,这看起来可能很简单,但我无法做到这一点。我想画两种类型的节点,小的和大的使用截止。这些值位于属性度中 下面是一个小玩具的例子 g1 <- graph(edges=c(1,2, 2,3, 3, 1, 4,2), n=4, directed=F) %>% set_vertex_attr("names", value = LETTERS[1:4]) g1_degree <- degree(g1, mode = "total&quo
g1 <- graph(edges=c(1,2, 2,3, 3, 1, 4,2), n=4, directed=F) %>%
set_vertex_attr("names", value = LETTERS[1:4])
g1_degree <- degree(g1, mode = "total")
g1_degree
[1] 2 3 2 1
g1 <- set_vertex_attr(g1, "degree", value = g1_degree)
plot(g1, vertex.size=V(g1)$degree)
g1%
设置顶点属性(“名称”,值=字母[1:4])
这里有两种解决方案
一个带有ifelse
,如问题中所示
g1 <- set_vertex_attr(g1, "degree", value = ifelse(V(g1)$degree < 2, 1, 5))
V(g1)$degree
#[1] 5 5 5 1
使用findInterval
索引c(10,50)[i]
设置不同的新大小,图表如下所示
g1 <- set_vertex_attr(g1, "degree", value = c(10, 50)[i])
plot(g1, vertex.size = V(g1)$degree)
g1试试g1谢谢!我能够使用ifelse解决方案,以后肯定会检查findInterval函数。
i <- findInterval(V(g1)$degree, c(0, 2, Inf))
g1 <- set_vertex_attr(g1, "degree", value = c(1, 5)[i])
V(g1)$degree
#[1] 5 5 5 1
g1 <- set_vertex_attr(g1, "degree", value = c(10, 50)[i])
plot(g1, vertex.size = V(g1)$degree)