DrawGroups<-function(FileAdj,FileG,NodesNames=(1:1000)){ MyColors=colors()[c(26,31,34,46,50,53,81,84,105,111,367,381,500,652,630,382,393,100,600,435)] adj <- as.matrix(read.table(FileAdj)) grp <- as.matrix(read.table(FileG)) grp <- grp+1 print(adj) print(grp) Z<-paste(FileG,".dot",sep="") S <- dim(adj)[1] MxG <- max(grp) GF<-"digraph G {" GF<-rbind(GF,"splines=true;") for (i in 1:MxG){ GF<-rbind(GF,paste("subgraph cluster_",i," {",sep="")) GF<-rbind(GF,paste("color=",MyColors[i],";",sep="")) for (j in 1:S){ if (grp[j]==i){ GF<-rbind(GF,paste("node[style=filled,shape=circle,color=",MyColors[i],"];",sep="")) GF<-rbind(GF,paste(NodesNames[j],";",sep="")) } } GF<-rbind(GF,paste("}",sep="")) } # Now write interactions for (i in 1:S){ for (j in 1:S){ if (adj[i,j]==1){ GF<-rbind(GF,paste("\"",NodesNames[i],"\" -> \"",NodesNames[j],"\";",sep="")) } } } GF<-GF<-rbind(GF,"}") write.table(GF,Z,quote=F, row.names=F, col.names=F) }