How to make Neato only change the node positions only a bit?

Suppose node positions are already set by some other tool (such as plain Dot).
How do I make Neato improve those positions without radically changing them?

If the input graph has

If the input graph has position information for nodes, it will use that as the starting layout. However, it is not clear what you want to do or what you mean by improvement. The neato algorithm is very different from dot, with very different criteria. Neato may start with the given initial layout, but the final result may be radically different. Maybe you could be more concrete in what you are trying to achieve or what improvements you are after?

Examples of constraints: 1.

Examples of constraints:

1. Each node must be end up within of distance 0.5 of initial position;

2. Sum of all displacements (distances between initial and resulting positions) for all nodes should be capped at 10.

Example of use case:

There is an unbalanced tree. It has height 100, but if we remove one "hanging" route, the height would be 6. Dot generated a nice graph, but it is obviously very tall (because of this annoying chain). I want Neato to preserve most of the tree, but "pack" this chain into zigzagging snake to take less place.

Recent comments