右图:按度数给节点上色? [英] R igraph: Color nodes by degree?

查看:14
本文介绍了右图:按度数给节点上色?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

# 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)

没有起作用。有人能告诉我如何根据"度"给顶点上色吗? 红色(高值)到蓝色(低值)最合适。

谢谢!

推荐答案

我找到的一个解决方案是用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)degree(graph)...

中值小于100的图表,只能使用此小技巧

这篇关于右图:按度数给节点上色?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆