我有一个图net,它有两种不同的顶点类型(1和2),分别出现n1和n2次数:
net %v% "type" <- c(rep("1", n1), rep("2", n2))
我们有一些边是随机生成的概率ps和pd,其中ps是同类型(1-1或2-2)的边概率和不同类型的pd (1-2)。
I想要绘制这个图,这样相同类型(即1-1或2-2)之间的边与不同类型(1-2)之间的边有不同的颜色。
我该怎么做?我试着使用网络包的%e%操作符,但我对如何获取每个边缘的端节点类型感到困惑。谢谢!
发布于 2017-03-19 06:13:58
你想要那个吗?
from <- sample(1:2, 10, replace = T)
to <- sample(1:2, 10, replace = T)
node <- cbind(from, to)
library(igraph)
net <- graph_from_edgelist(node, directed = F)
edge_color <- function(from_to){
from_node <- from_to[1]
to_node <- from_to[2]
ifelse(from_node == to_node, return("red"), return("blue"))
}
color<- apply(node, 1, edge_color)
plot(net, edge.color=color)

https://stackoverflow.com/questions/42882233
复制相似问题