# Question:Does CommunityGraphPlot have a corresponding function in Maple

## Question:Does CommunityGraphPlot have a corresponding function in Maple

Maple 2021

In mathematica, CommunityGraphPlot attempts to draw the vertices grouped into communities.

g = Graph[{1 \[UndirectedEdge] 2, 2 \[UndirectedEdge] 3,
3 \[UndirectedEdge] 4, 1 \[UndirectedEdge] 4,
1 \[UndirectedEdge] 5, 5 \[UndirectedEdge] 6,
5 \[UndirectedEdge] 7, 7 \[UndirectedEdge] 8,
8 \[UndirectedEdge] 9, 7 \[UndirectedEdge] 9},
VertexLabels -> "Name"];
ged = {{6, 7, 8, 9}, {5}, {1, 2, 3, 4}};# Gallai-Edmonds decomposition
CommunityGraphPlot[
HighlightGraph[g, FindIndependentEdgeSet[g],
GraphHighlightStyle -> "Thick"],
Thread[Labeled[ged, {"D(g)", "A(g)", "C(g)"}]], PlotTheme -> "Web"]

This function is very useful, for example, if I get a partition of vertices, such as the gallai-Edmonds decomposition below, I use  CommunityGraphPlot to easily see the overall layout of the graph. I don't know if Maple has a corresponding function.

PS: The Gallai-Edmonds decomposition of a graph g is the partition {D(g),A(g),C(g)} of its vertices, where D(g) consists of every vertex v for which there exists a maximum matching of g that misses v, A(g) consists of every vertex v that is not in D(g) but neighbors some vertex in D(g) and C(g) consists of all remaining vertices.
﻿