NetworkLayout.jl
NetworkLayout.jl copied to clipboard
Enhancement: Directed Acyclic Graph Layout
NetworkLayout.jl currently has the Buchheim algorithm for laying out trees. Often data sets are hierarchical, but are not trees. It'd be great to have a layout algorithm for directed acyclic graphs, such as the Sugiyama method or ideally something similar to GraphViz dot.
I am preparing to release https://github.com/oxinabox/LayeredLayouts.jl which does have algorithms for DAG layout. It currently just has one, but its a good one (provably optimal in number of crossings). Basic docs should be up shortly
Any reason to not put it under the same API under NetworkLayout?
I wonder how much NetworkLayout.jl is still maintained. Apparently it is still a dependency of GraphRecipes.jl, so it must still work but the current situation is:
- the latest commit there is two years old
- there is a lot of code that is duplicated in GraphPlot.jl
Given that GraphPlot.jl is also not in the best state, I wonder if some effort should be put into NetworkLayout.jl so that it is usually from multiple graph plotting packages.
Yeah, that's the idea^^ I'm simply not aware of anyone using it, and nobody has been complaining about anything, that's why there hasn't been any commits...
Any reason to not put it under the same API under NetworkLayout?
It has huge dependencies. JuMP, ECOS, and Cbc. https://github.com/oxinabox/LayeredLayouts.jl/blob/c72cdbcbd999c17b9f524f5ed3c807df3a8d7ba3/Project.toml#L7-L13
Has it?
Am I missing something?
Ah, lol, I guess you mean the other package :D