dot言語というDSLがあって
digraph graphname { graph [rankdir = TB]; subgraph cluster0 { label="Compile"; b [label="car_m4(sed (here doc))" shape="rectangle"] c0 [label="m4 macro set" shape="box3d"] c [label="tmp.m4"] d [label="car_m4(m4)" shape="rectangle"] e [label="mtASM src"] b -> c -> d; c0 -> d -> e; {rank = same;c0;d;} } subgraph cluster1 { label="Assemble"; e0 [label="awk src1" shape="box3d"] f [label="car_mt(awk)" shape="rectangle"] f0 [label="C src"] f1 [label="template C src" shape="box3d"] g [label="car_mt(gcc)" shape="rectangle"] i [label="bet file"] f1 -> g; e0 -> f; f ->i; f -> f0 -> g; {rank = same; e0;f;} } subgraph cluster2 { label="Run"; h [label="exe file" shape="Msquare"] j [label="結果 data"] h -> j ; } subgraph cluster3 { label="Run"; e1 [label="awk src2" shape="box3d"] j0 [label="car_bet(awk)" shape="rectangle"] l [label="graph data"] l0 [label="car_bet(gnuplot)" shape="rectangle"] e1 -> j0 -> l ->l0 {rank = same; e1;j0;} } a [label="Esgrsdnl src" shape="note"]; g0 [label="株 data" shape="folder"] i [label="bet file"] l1 [label="baktest graph" shape="octagon"] a -> b; e -> f; g -> h; j -> j0; i-> j0; g0 -> h; l0 -> l1; }
こうかくと
こんな図が得られる 便利
操作パネルとの対応を示してみました