Creating subgraphs
A subgraph is enclosed in opening and closing curly parentheses.
Optionally, the subgraph can be explicitly stated as such with the
keyword subgraph
. If this keyword is used, the subgraph might also optionally be named with an
ID.
Finally, if the ID starts with cluster
, the subgraph becomes a cluster.
The following example creates four subgraphs that demonstrate each of the four variations:
digraph XYZ {
{ A -> B }
subgraph { C -> D }
subgraph named { E -> F }
subgraph cluster_xyz { G -> H }
}
A subgraph allows to specify attributes for elements within the subgraph
Attributes that are set in an attribute statement are valid within the subgraph that they're defined in:
digraph A {
//
// Specify an attribute outside of any subgraph.
// It affects all nodes in the intere graph
node [shape=box]
{
//
// Specifiy a couple of attributes that
// affect only the nodes within the
// current subgraph:
//
node [color=blue fontcolor=blue]
A
B
}
{
//
// Again, a couple of attributes for
// one subgraph only:
//
node [color=red fontcolor=red ]
C
D
}
//
// The following node has only the
// shape attribute overridden:
//
X
}