# http://www.graphviz.org/content/cluster digraph G { newrank=true; rankdir=LR; A1 [label = "A1 = B1 = C1 = D1"]; subgraph cluster_A { label = "Type A"; node [style=filled,color=pink]; A10 -> A9 -> A8 -> A7 -> A6 -> A5 -> A4 -> A3 -> A2; fontsize = 20; A3 [label = "A3=D3", style=filled,color=pink]; A2 [label = "A2=D2", style=filled,color=pink] } subgraph cluster_B { label = "Type B"; node [style=filled,color=orange]; B10 -> B9 -> B8 -> B7 -> B6 -> B5 -> B4 -> B3; fontsize = 20; color=blue; } B3 -> B2; B4 -> A3; B5 -> A4; B6 -> A5; B7 -> A6; B8 -> A7; B9 -> A8; B10 -> A9; subgraph cluster_C { label = "Type C"; node [style=filled,color=thistle2]; C10 -> C9 -> C8 -> C7 -> C6 -> C5 -> C4 -> C3; fontsize = 20; color=blue } B2 [label = "B2=C2"]; C3 -> B2; C4 -> A3; C5 -> A4; C6 -> A5; C7 -> A6; C8 -> A7; C9 -> A8; C10 -> A9; subgraph cluster_D { label = "Type D"; node [style=filled,color=aliceblue]; D10 -> D9 ->D8 -> D7 -> D6 -> D5 -> D4; fontsize = 20; color=blue } D4 -> A3; D5 -> A4 D6 -> A5; D7 -> A6; D8 -> A7; D9 -> A8; D10 -> A9; subgraph cluster_E { label = "Type E"; node [style=filled,color=aliceblue]; E8 -> E7 -> E6; fontsize = 20; color=blue } E6 -> D5; E7 -> D6; E8 -> D7; E6 -> A5; E7 -> A6; E8 -> A7; subgraph cluster_exc { label = "Exceptional"; node [style=filled,color=aliceblue]; G2 [label = "G2", style=filled,color=aliceblue]; F4; fontsize = 20; color=blue } G2 -> A1; F4 -> {B3 C3} -> A2 -> A1; B2 -> A1; }