digraph Taskflow { newrank=true; #columns subgraph { p00[label="pipe-0"]; p10[label="pipe-0"]; p20[label="pipe-0"]; p30[label="pipe-0"]; } subgraph { p01[label="pipe-1"]; p11[label="pipe-1"]; p21[label="pipe-1"]; p31[label="pipe-1"]; } subgraph { p02[label="pipe-2"]; p12[label="pipe-2"]; p22[label="pipe-2"]; p32[label="pipe-2"]; } subgraph { p03[label="pipe-3"]; p13[label="pipe-3"]; p23[label="pipe-3"]; p33[label="pipe-3"]; } subgraph { p04[label="pipe-4"]; p14[label="pipe-4"]; p24[label="pipe-4"]; p34[label="pipe-4"]; } subgraph cluster0 { rank="same"; style="dashed"; p00; p01; p02; p03; p04; } subgraph cluster1 { rank="same"; style="dashed"; p10; p11; p12; p13; p14; } subgraph cluster2 { rank="same"; style="dashed"; p20; p21; p22; p23; p24; } subgraph cluster3 { rank="same"; style="dashed"; p30; p31; p32; p33; p34; } p00 -> p01; p01 -> p02; p10 -> p11; p11 -> p12; p20 -> p21; p21 -> p22; p30 -> p31; p31 -> p32; p32 -> p33; // Added this line p00 -> p10; p01 -> p11; p02 -> p12; p10 -> p20; p11 -> p21; p12 -> p22; p20 -> p30; p21 -> p31; p22 -> p32; p22 -> p23; p23 -> p24; p23 -> p33; p02 -> p03; p03 -> p04; p03 -> p13; p04 -> p14; p12 -> p13; p13 -> p23; p13 -> p14; p14 -> p24; p24 -> p34; p33 -> p34; }