我有以下代码使用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中但失败了。
答案 0 :(得分:1)
G1
不是此处的图表,而是层次结构社区结构。 tkplot()
可以绘制图表,但不能绘制社区结构。如果您想要一个以最高模块级别显示社区的图表,使用顶点颜色进行编码,那么您可以执行以下操作:
mycolors <- heat.colots(length(G1))
tkplot(G, vertex.color=mycolors[membership(G1)])