R igraph:按度数的颜色节点?

时间:2016-11-30 15:01:17

标签: r attributes igraph

# Erdos
par(mfrow=c(1,2))
g <- erdos.renyi.game(100, 1/100)
V(g)$size<-seq(0.05,5,0.05)
betweenness(g)

# Draw nodes and save positions
locs <- layout.fruchterman.reingold(g)
plot(g, 
     layout=locs, 
     vertex.label=NA, 
     main="Original",
     vertex.color=degree(g))
g

vertex.color=degree(g)

没用。任何人都可以告诉我如何用“度”为顶点着色? 红色(高值)到蓝色(低值)将是完美的。

谢谢!

1 个答案:

答案 0 :(得分:0)

我找到的一个解决方案是创建一个新的颜色向量,其中灰色 R 为我们提供了 colors()[]。如果您在终端中选中 colors()[],您可以看到 plot.igraph() 函数可读的完整颜色列表。

您首先对您的数据(图表等)收费:

edgelist <- read.csv(...)
graph <- make_graph_from_data(edgelist)

然后创建一个与顶点列表长度相对应的颜色向量:

length(V(g)) # with a length of X vertices :

colors <- c(paste0(rep("grey",X),seq(X,1)))

最后,您使用属性 vertex.color 绘制它:

  plot(g,vertex.color=colors[degree(graph)])

然而,这个小技巧只能用于 degree(graph)... 中少于 100 个值的图