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