How to generate easily readable diagrams?

Hi everyone, I’m aiming to automate drawing of network diagrams. I have been doing this manually for years and have quite strong opinion what I’m looking for. I have made some initial testing with Graphviz.

Challenging part is how to get diagrams which have lots of nodes and edges to look easily readable.

I’m aiming to have output like this:

Any ideas or comments what I should start to look for? Does this mean developing completely new algorithm for node / edge placement or could it be possible with current ones?

Could this graph be produced using the Graphviz tools? I think so (but far from sure) Probably not easily. None of the layout engines are row/column oriented. Also native edges are point-to-point, not buses.

  • What rules or algorithms do you use when placing nodes?
  • What would the input look like?
  • How much control do you want over the basic layout?

Graphviz doesn’t seem good for this. You might consider generating diagrams in tikz which seems to have the necessary features.

You might find some of the discussion here useful: Drawing busses for network and other diagrams (#1987) · Issues · graphviz / graphviz · GitLab

Thanks all, TIKZ seems intresting, I definetely need to take a look.