# IT:AD:GraphViz/Examples #
* [[../|(UP)]]
{{indexmenu>.#2|nsort tsort}}
It's good to have handy an example or two of the syntax required...
## Examples ##
digraph finite_state_machine {
rankdir=LR;
size="9,5.5"
node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
node [shape = circle];
1 -> 2;
2 -> 3;
1 -> 3;
2 -> 4;
4 -> 4;
4 -> 2;
}
digraph structs {
size = "5,5";
bgcolor="#F0EADB";
layers = "constr:design";
node [shape=box, width=.1, height=.1, layer=all];
edge [layer=all];
constraint = false;
nodesep = .1;
ranksep = .3;
{
node [style=invis];
inv1; inv2; inv3; inv4;
}
INET [shape=record,width=.1, height=.1, label="<0>InterNET |<1>|<2>|<3>|<4>|<5>|<6>|<7>|<8>|<9>|<10>|<11>|"];
DMZ [shape=record,width=.1, height=.1, label="<0>DMZ 192.168.72.0/24|<1>|<2>|<3>|<4>|<5>|<6>|<7>|<8>|<9>|<10>|<11>|"];
LAN [shape=record,width=.1, height=.1, label="<0>LAN 192.168.1.0/24|<1>|<2>|<3>|<4>|<5>|<6>|<7>|<8>|<9>|<10>|<11>|"];
INET:0 -> inv1 -> inv2 -> DMZ:0 -> inv3 -> inv4 -> LAN:0 [style=invis];
{ rank = same; inv1; Alpha; Gamma; }
{ rank = same; inv2; Beta; }
INET:2 -> Alpha [dir=back];
INET:5 -> Beta [dir=back];
INET:8 -> Gamma [dir=back];
Alpha -> DMZ:2;
Beta -> DMZ:5;
Gamma -> DMZ:8;
{ rank = same; inv3; Gold; }
{ rank = same; inv4; Silver; Platinum;}
DMZ:2 -> Silver [dir=back];
DMZ:5 -> Gold [dir=back];
DMZ:8 -> Platinum [dir=back];
Silver -> LAN:2;
Gold -> LAN:5;
Platinum -> LAN:8;
INET:10 -> Gold [dir=back, headport=e, tailport=s];
INET:11 -> Platinum [dir=back, headport=e, tailport=s];
}
digraph automata_0 {
size ="8.5, 11";
node [shape = circle];
0 [ style = filled, color=lightgrey ];
2 [ shape = doublecircle ];
0 -> 2 [ label = "a " ];
0 -> 1 [ label = "other " ];
1 -> 2 [ label = "a " ];
1 -> 1 [ label = "other " ];
2 -> 2 [ label = "a " ];
2 -> 1 [ label = "other " ];
"Machine: a" [ shape = plaintext ];
}
digraph finite_state_machine {
rankdir=LR;
size="9,5"
node [shape = doublecircle]; LR_0 LR_3 LR_4 LR_8;
node [shape = circle];
LR_0 -> LR_2 [ label = "SS(B)" ];
LR_0 -> LR_1 [ label = "SS(S)" ];
LR_1 -> LR_3 [ label = "S($end)" ];
LR_2 -> LR_6 [ label = "SS(b)" ];
LR_2 -> LR_5 [ label = "SS(a)" ];
LR_2 -> LR_4 [ label = "S(A)" ];
LR_5 -> LR_7 [ label = "S(b)" ];
LR_5 -> LR_5 [ label = "S(a)" ];
LR_6 -> LR_6 [ label = "S(b)" ];
LR_6 -> LR_5 [ label = "S(a)" ];
LR_7 -> LR_8 [ label = "S(b)" ];
LR_7 -> LR_5 [ label = "S(a)" ];
LR_8 -> LR_6 [ label = "S(b)" ];
LR_8 -> LR_5 [ label = "S(a)!" ];
}
If the above doesn't work, see [[IT/AD/DokuWiki/HowTo/Install Plugins]]