Running from Command Line

Output to png using twopi

dot -Ktwopi -Tpng graph1.gv -o graph1.png

Other algorithms (Layout Commands)

  • dot
  • fdp
  • neato
  • osage
  • sfdp
  • twopi

Not working on Windows:

  • circo

Dot Graph Examples

Triangle

A triangle with large margins

digraph A {
  rankdir=LR;
  center=true; margin=1; 
  nodesep=1.5; ranksep=0.5;

  node [shape=point,  height=".2", width=".2"];

  a [xlabel="a"];
  b [xlabel="b"];
  c [xlabel="c"];
  a -> b -> c;
  a -> c;
}

ibImr.png


Label + XLabel

digraph A {
  rankdir=LR;
  center=true; margin=1; 
  nodesep=1.5; ranksep=1.5;

  node [height="0.5", width="0.5", fixedsize=true];
  
  X [xlabel=100];
  Y [xlabel=150];
  I1 [xlabel=150];
  I2 [xlabel=100];
  {X, Y}->{I1, I2};
}

3802a0b414354ad58397d8a0ebfd0771.png


Edges with Opposite Direction

Source: [1]

digraph A {
  rankdir=LR;
  center=true; margin=1; 
  
  node [height="0.33", width="0.33", fixedsize=true];
  
  b->a->d->g;
  a->e->h;
  e->g;
  d->{c,f};
  
  c->e [dir="back"];
  g->h [dir="back"];
  
  b,d,e [style=filled, fillcolor=red, peripheries=2];
  
  {rank=same; f;g;h;}
  {rank=same; d;e;c;}
  {rank=same; a;b;}
}

ddbcf5f668c94490a91a563fcfcd3515.png


Neato Example

graph G {
  nodesep=1.5;
  center=true; margin=1; 
  node [color=black, shape=rectangle, style="filled", fillcolor=skyblue];
  edge [len=2];
  a;b;c;d;e;
  a--{b,c,d,e};
  b--{c,d,e};
  c--{d,e};
  d--e;
}

4aaa619d5eb6433a812eee3759c82efa.png


Double Edge

Source: [2]

digraph G {
  rankdir=LR;
  nodesep=0.7; ranksep=1;
  node [shape=none, fixedsize=true, width=0.3];
  
  a->b->d;
  a->c->d;
  b->c [color="black:white:black",dir=none];
  a->e->d;
  c->e [style=invis];
  {rank=same;b;c;e;}
}

f845d826920c4289ae0376767482c798.png