Prevent overlapping records using graphviz and neato

dot, graphviz, neato

Solution

Well, as with most questions...soon after I posted the I figured out the answer. I needed to add `graph [overlap=false];` at the top of the file.

Do it like this:

graph g {
    overlap = false;

    node [shape=record,height=.1];
    /* ... */
}

Problem

I am building a dot file to represent computer hardware and the physical connections to a network switch and displays. I have it looking ok when processed by the dot program but I think I really want it processed by neato to create a more "free form" picture as it starts to grom. Right now when I run my large file with neato, everything is overlapping. I am trying to figure out the syntax on where to define the `overlap` attribute. Below is a subset of my dot file. ``` graph g { node [shape=record,height=.1]; PC8[label="{{<GigE1>GigE1|<GigE2>GigE2}|{<name>PC8}|{<dvi1>dvi1|<dvi2>dvi2|<dvi3>dvi3|<dvi4>dvi4}}"]; PC9[label="{{<GigE1>GigE1|<GigE2>GigE2}|{<name>PC9}|{<dvi1>dvi1|<dvi2>dvi2|<dvi3>dvi3|<dvi4>dvi4}}"]; C1[label = "{{<dvi1>dvi1}|{<name>C1}}"]; C2[label = "{{<dvi1>dvi1}|{<name>C2}}"]; C3[label = "{{<dvi1>dvi1}|{<name>C3}}"]; C4[label = "{{<dvi1>dvi1}|{<name>C4}}"]; D1[label = "{{<dvi1>dvi1}|{<name>D1}}"]; D2[label = "{{<dvi1>dvi1}|{<name>D2}}"]; "PC8":dvi1 -- "C1":dvi1; "PC8":dvi2 -- "C2":dvi1; "PC8":dvi3 -- "C3":dvi1; "PC8":dvi4 -- "C4":dvi1; "PC9":dvi1 -- "D1":dvi1; "PC9":dvi2 -- "D2":dvi1; } ```

Original source