0

I was trying to draw a circular graph using GraphViz, and decided it would be the best to use circo for this graph.

Having taken advice in a post from 7 years ago, How to prevent edges in graphviz to overlap each other, and using global overlap=false and splines=true, the edges still overlap with each other.

The whole graph can be seen here, and is defined as:

digraph question6 {

 layout="circo"
 overlap=false
 splines=true
 node [shape="circle"]

 G1 [label="1, G"]
 G2 [label="2, G"]
 D11 [label="1, D1"]
 D12 [label="2, D1"]
 D21 [label="1, D2"]
 D22 [label="2, D2"]

 G1 -> D12 [label="c"]
 G1 -> G2 [label="a"]
 G2 -> D12 [label="a"]
 D11 -> G1 [label="d"]
 D11 -> D21 [label="e"]
 D11 -> D12  [label="c"]
 D12 -> G2 [label="d"]
 D12 -> D22 [label="c"]
 D21 -> G1 [label="d"]
 D21 -> D22 [label="c"]

 D22 -> D21 [label="b"]
 D22 -> G2 [label="d"]
}
jackxujh
  • 983
  • 10
  • 31
  • I don't think this is possible. "Edge overlap" almost always means wanting **planarity** and GraphViz simply has no setting to guarantee planarity. See [my other answer on this topic.](https://stackoverflow.com/questions/45800371/graphviz-correct-embedding-of-planar-graphs) – TomServo Nov 02 '17 at 19:58
  • Thanks a lot!!! Really appreciate the intels! I now recall that planarity was a great part when I was learning discrete mathematics. Now that since graphviz won’t solve this out automatically, can I set it manually, or should I upgrade to diagram apps such as OmniFraffle and Visio? Thanks! – jackxujh Nov 03 '17 at 04:35
  • I can't speak for the feature set of those other packages. I know quite a bit about GraphViz and dot but cannot comment on the others. Best of luck! – TomServo Nov 03 '17 at 15:08

1 Answers1

0

As for now, there is not a viable way for this.

One of the very difficult things that GraphViz is not yet able to resolve is to determine if the graph is planar.

jackxujh
  • 983
  • 10
  • 31