将图中的图保存为igraph对象或gml格式

时间:2013-04-03 12:17:11

标签: r

我有以下代码使用walktrap社区算法从相关矩阵中检测社区。一旦检测到社区,我就会绘制它们。

 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的格式保存它们。我尝试了以下内容:

 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 个答案:

答案 0 :(得分:1)

G1不是此处的图表,而是层次结构社区结构。 tkplot()可以绘制图表,但不能绘制社区结构。如果您想要一个以最高模块级别显示社区的图表,使用顶点颜色进行编码,那么您可以执行以下操作:

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