2016-05-17 287 views
0

我需要繪製的數據集非常大,是兩種模式。一個是關於學生,另一個是關於他們分享的項目。如何使用igraph爲兩種模式選擇佈局並避免重疊?

我使用igraph並嘗試了幾種佈局。它們都不令人滿意。使用kk進行佈局的信息量較大。這裏是什麼樣子:

layout with kk

綠色,大的有項目,而小和粉色的,都是學生。

我想給它們加上標籤,以便獲得更多信息。但情節非常激烈,並且有很多重疊。其他佈局會更糟糕。

有人可以幫忙嗎?喜歡如何重疊?如何添加標籤,不需要所有標籤,但至少要添加一些標籤?

這裏是我的代碼:

net <- graph_from_incidence_matrix(links) 
V(net)$color[1:2621] <- rgb(1,0,0,.5) 
V(net)$color[2622:4326] <- rgb(0,1,0,.5) 
V(net)$label <- V(net)$name 
V(net)$label.color <- rgb(0,0,.2,.5) 
V(net)$label[1:2621] <- NA 
V(net)$color[1:2621] <- rgb(1,0,0,.1) 
V(net)$size[1:2621] <- 3 
V(net)$size[2621:4326] <- 5 
E(net)$curved <- FALSE 
l1 <- layout_with_kk(net) 
plot(net, layout=l1,vertex.label=NA,edge.width =E(net)$weight) 

回答

0

如果你知道你要顯示,您可以分配vertex.label向量,指定那些標籤。

也正在刪除通過vertex.frame.color改變節點邊界的顏色可能是有用的。

例如:

r <- make_ring(10) 
showlabels <- seq(1,10) 
showlabels[showlabels %% 2 != 0] <- NA 
plot(r, vertex.label = showlabels, vertex.frame.color = NA)