igraph绘制条件顶点颜色

时间:2012-10-29 21:57:48

标签: r colors conditional igraph vertex

我是R和iGraph的新手。我正在尝试在列#1中创建一个顶点,以特定颜色显示。

我的数据来自CSV,如下所示:

CL1920  202.80  V66.7   198.89  511.9   799.02  401.9   696.1   388.01  202.80                                                                                                                               
RM119041 331.82 294.10                                                                                                                                                                                       
RM38755 331.82  294.10  276.0   331.0   294.10                                                                                                                   
HK54701 331.82  294.10  276.0   331.0   294.10  401.9   V10.51
....

我的剧情剧本看起来像这样:

dat <- read.csv("data.csv", header =F)
g <- graph.data.frame(dat, directed = F)
colCount <- 1+ count.fields("dat.csv", sep = ",")
V(g)$label <- NA
set.seed(10)
par <- par()$mar; par(mar=rep(0, 4))
plot (g, layout = layout.fruchterman.reingold,
      vertex.frame.color = "#FFFFFF",
      vertex.size = 5,
      edge.width = 2.5+ (log(colCount)/max(log(colCount))),
      edge.color = "Grey60")

我尝试过设置vertex.color失败了。像这样的例子似乎默认为“lightblue”

 V(g)$color <- ifelse (V(g)$V1, "red", "blue")

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:6)

所以(从评论中)看来,目标是根据顶点是否出现在dat数据框的第一列中来设置顶点颜色。这是一种方式:

V(g)$color <- ifelse(V(g)$name %in% dat[,1], "red", "blue")
plot(g)