Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhancement: Directed Acyclic Graph Layout #20

Open
tawheeler opened this issue Jul 22, 2020 · 7 comments
Open

Enhancement: Directed Acyclic Graph Layout #20

tawheeler opened this issue Jul 22, 2020 · 7 comments

Comments

@tawheeler
Copy link

tawheeler commented Jul 22, 2020

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.

@oxinabox
Copy link

oxinabox commented Oct 17, 2020

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

@SimonDanisch
Copy link
Member

Any reason to not put it under the same API under NetworkLayout?

@simonschoelly
Copy link
Contributor

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.

@SimonDanisch
Copy link
Member

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...

@oxinabox
Copy link

oxinabox commented Oct 17, 2020

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

@SimonDanisch
Copy link
Member

Has it?
image
Am I missing something?

@SimonDanisch
Copy link
Member

Ah, lol, I guess you mean the other package :D

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants