library(igraph)
data <- read.csv("ex.txt", sep=" ", header=F)
数据包含边列表
graph <- graph.data.frame(data)
data1 <- read.csv("ex1.txt", sep=" ", header=F)
data1包含顶点的成员资格ID
memberships <- list()
V(g)$membership <- data1$V2
V(g) [ membership == 0 ]$color <- "red"
V(g) [ membership == 1 ]$color <- "blue"
V(g) [ membership == 2 ]$color <- "green"
V(g) [ membership == 3 ]$color <- "brown"
V(g) [ membership == 4 ]$color <- "orange"
V(g) [ membership == 5 ]$color <- "Yellow"
plot(g, layout=layout.fruchterman.reingold, vertex.color=V(g)$membership , vertex.size = 2,vertex.label = NA)
如果您注意到,颜色与预期不符,则会出现黑色和两种未提及的蓝色变化。
我无法找到任何其他分配顶点颜色的方法。请给我一些替代方案
答案 0 :(得分:1)
将vertex.color
映射到V(g)$color
:
library(igraph)
set.seed(1)
g <- barabasi.game(100, .3)
eb <- edge.betweenness.community(g)
V(g)$membership <- membership(edge.betweenness.community(g))
V(g)$color = "black"
V(g) [ membership == 1 ]$color <- "blue"
V(g) [ membership == 2 ]$color <- "green"
V(g) [ membership == 3 ]$color <- "brown"
V(g) [ membership == 4 ]$color <- "orange"
V(g) [ membership == 5 ]$color <- "Yellow"
V(g) [ membership == 6 ]$color <- "red"
plot(g, layout=layout.fruchterman.reingold, vertex.color=V(g)$color , vertex.size = 2,vertex.label = NA, edge.arrow.size = .3)