2017-01-12 49 views
0

我對編程非常陌生,並且對R來說是全新的。我正在努力弄清楚如何突出顯示加權節點。我有一個數據框例如像這樣:如何突出顯示r中的加權節點?

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

所以一個連接到3件事,而其他人在第一列只連接到一個。我如何繪製這個圖表,以便通過算法識別「a」具有更高的權重並突出顯示它。

這是我在這裏的第一個問題,所以原諒格式。提前致謝!

+0

你有使用'igraph'包建設和繪製圖形數據結構? – Spacedman

+0

「算法上」; 「高亮」=>請定義 – hrbrmstr

回答

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

可以使用更亮的顏色來(變化色調,使用一些色調調色板或增加α值),這裏是一個例如:

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

相關問題