2015-10-19 23 views
0

我想展示一個社交網絡隨着時間的變化。我正在使用igraph。你如何決定igraph頂點的位置?

問題是,每次我在社交網絡中創建時間段的圖表表示時,程序都會將頂點置於每個創建的圖形的不同位置。這是問題,因爲我試圖展示社交網絡羣體隨着時間的推移如何繼續/停止。

我試過聽寫頂點的位置,通過輸入l<-layout.fruchterman.reingold(g)然後使用layout=l爲我創建的每個後續圖形。不過,我得到看起來像這樣的錯誤消息:

Error in layout[v, , drop = FALSE] : subscript out of bounds 

下面是我使用的代碼:

require(igraph) 
cat<-read.csv(file="Bigplayers_3_36505-36605 - Copy.csv",header=F,sep=",") 
cat<-as.matrix(cat) 
set.seed(230) 
g <- graph.adjacency(cat, weighted=T, mode = "undirected") 
g2<-V(g)[degree(g)<1] 
g<-delete.vertices(g,g2) 
fg<-cluster_fast_greedy(g,merges=T,modularity=T,membership=T) 
colors<-rainbow(max(membership(fg))) 
V(g)$label<-V(g)$name 
plot(g,vertex.size=10,vertex.color=colors[membership(fg)],mark.groups=communities(fg),layout=layout.fruchterman.reingold, main='Enron Email Dataset', vertex.label.dist=0.5, vertex.frame.color='blue', vertex.label.color='black', vertex.label.font=1) 

這裏有兩個數據集,代表了不同時間段相同的頂點:herehere

回答

0

爲了解決這個問題,我已經擺脫了線的

g2<-V(g)[degree(g)<1] 
g<-delete.vertices(g,g2) 

隨着這些線條消失,無論我使用哪個數據集,頂點都保持在同一位置。