2013-04-03 163 views
1

我有以下代碼可以使用walktrap社區算法從相關矩陣中檢測社區。一旦社區被發現,我繪製它們。將圖形保存爲igraph作爲igraph對象或gml格式

G <- graph.adjacency(th, mode="undirected", weighted=TRUE) 
G <- delete.vertices(G, V(G)[ degree(G)==0 ]) 
G1<-walktrap.community(G) 
par(mai=c(0.4,0.01,0.01,0.4)) 
b<-plot(G1,G,vertex.size=15,vertex.label.color= "black",vertex.label.cex=0.45,layout=layout.fruchterman.reingold) 

我想什麼做的是有它顯示了不同的社區情節的交互式版本或將它們保存在可導入到cytoscape.I的格式試過如下:

tkplot(G1,G,vertex.size=15,vertex.label.color= "black",vertex.label.cex=0.45,layout=layout.fruchterman.reingold) 

但我得到以下錯誤:

Error in tkplot(G1, G, vertex.size = 15, vertex.label.color = "black", : 

不是一個圖形對象

我試圖將該圖轉換成gml格式以導入cytoscape,但失敗。

回答

1

G1這裏不是圖表,而是分層社區結構。 tkplot()可以繪製圖表,但不是社區結構。如果你想要一個顯示最高模塊化級別的社區,使用頂點顏色進行編碼的情節,那麼你可以這樣做:

mycolors <- heat.colots(length(G1)) 
tkplot(G, vertex.color=mycolors[membership(G1)]) 
+0

這是行得通的!謝謝 ! – user1805343