3 ms·
It bothers me that the graphviz algorithms almost always feel to me doing a poor job of laying out nodes. Like here in the neato layout you have both nodes over
by zokier 4y ago
It bothers me that the graphviz algorithms almost always feel to me doing a poor job of laying out nodes. Like here in the neato layout you have both nodes overlapping eachother and edges overlapping with nodes, both which should be avoidable, and in fdp there is also some overlap and additionally RI and WA placements are "wrong" (non-planar). sfdp is just a mess, and twopi is even worse. Is there any software that works better?
I realize that this might be fundamentally difficult problem, but it just feels odd that there hasn't been much improvement in this area.
- Bromeo 4y agoI believe you can explicitly set "overlap=false".
- graphviz 4y agoThat's right. The initial layout in neato (which is really statistical multidimensional scaling) treats nodes as points, then draws shapes on top of the points without considering overlap. overlap=false or overlap=prism invokes a second layout phase as described in this report: https://link.springer.com/content/pdf/10.1007/978-3-642-00219-9_20.pdf https://link.springer.com/content/pdf/10.1007/978-3-642-0021... There may be better methods by now - it would be a good intern project to look at that. It would be a good idea to simply take the state centroids as an initial placement and onyl run the overlap removal phase. In edge routing, we were really impressed with the "repulsive curve" work by Keenan Crane at CMU, https://www.cs.cmu.edu/~kmcrane/Projects/RepulsiveCurves/index.html https://www.cs.cmu.edu/~kmcrane/Projects/RepulsiveCurves/ind... - scroll halfway down for the graph layout examples.
- bjourne 4y agoWow, that's really fascinating. I never knew there was a connection between knot theory and laying out graphs.