Maybe something like: g2 = ExampleData[{"NetworkGraph", "ZacharyKarateClub"}]; g2 = SetProperty[g2, {VertexLabels -> "Name", ImagePadding -> 20, ImageSize -> 400}]; fgp = FindGraphPartition[GraphComplement[g2], 3]; mpg = Graph[Flatten@fgp, EdgeList[g2], GraphLayout -> {"MultipartiteEmbedding", "VertexPartition" -> (Length /@ fgp)}, VertexLabels -> "Name", ImagePadding -> 20, ImageSize -> 400]; Row[{g2, mpg}] ![enter image description here][1] CommunityGraphPlot[g2, fgp, Method -> "Hierarchical"] ![enter image description here][2] [1]: https://i.sstatic.net/IrgNC.png [2]: https://i.sstatic.net/K2Q3D.png