# 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)
没用。任何人都可以告诉我如何用“度”为顶点着色? 红色(高值)到蓝色(低值)将是完美的。
谢谢!
答案 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 个值的图