如何突出r中的加权节点?

时间:2017-01-12 16:12:48

标签: r

我对编程很陌生,对R来说是全新的。我正在努力弄清楚如何突出加权节点。我有一个数据框,例如:

a   b
a   c
a   d
e   f
g   h
i   j

所以连接到3个东西,而第一列中的其他连接只连接到一个。如何对此进行图表处理,以便在算法上识别出“a”具有更高的权重并突出显示它。

这是我在这里的第一个问题,请原谅格式。提前谢谢!

2 个答案:

答案 0 :(得分:1)

以下是使用众多可能加权方案中的一个(degree)的示例:

df <- read.table(text="a   b
a   c
a   d
e   f
g   h
i   j")
library(igraph)
g <- graph_from_data_frame(df)
coords <- layout.auto(g)
# "weight" nodes by number of edges and rescale values from 10 to 20:
V(g)$size <- plotrix::rescale(degree(g), c(10, 20))
plot(g, layout=coords, vertex.size=V(g)$size)

答案 1 :(得分:0)

你可以使用更亮的颜色(改变色调,使用一些阴影调色板或增加alpha值),这是一个例子:

df <- read.table(text="a   b
                 a   c
                 a   d
                 e   f
                 g   h
                 i   j", header=FALSE)
library(igraph)
g <- graph_from_data_frame(df)
deg <- 1 + degree(g, mode='out')
plot(g, vertex.size=10*deg, 
     vertex.color=colorRampPalette(c('grey','green'))(max(deg))[deg])

enter image description here