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

Feat request: integrate by_axis_local_stress_graph network layout from GraphRecipes #39

Closed
mroavi opened this issue Sep 14, 2021 · 2 comments · Fixed by #40
Closed

Feat request: integrate by_axis_local_stress_graph network layout from GraphRecipes #39

mroavi opened this issue Sep 14, 2021 · 2 comments · Fixed by #40

Comments

@mroavi
Copy link

mroavi commented Sep 14, 2021

This is the default network layout used in GraphRecipies. It would be really nice to have this integrated into NetwrokLayout.jl so that it can be used with GraphMakie.jl. It is the network layout that works best for the type of graphs I'm using.

Source reference of this network layout: "section 2.3 from http://link.springer.com/chapter/10.1007%2F978-3-540-31843-9_25#page-1".

See original issue: MakieOrg/GraphMakie.jl#31

@hexaeder
Copy link
Collaborator

Hm.... both layouts reference the same paper. For some graphs (i.e. complete_graph(10)) the results look kinda the same. The implementation is very different though...
For any tree-like graph the results of GraphRecipes are so much better

@hexaeder
Copy link
Collaborator

The "ideal distance" d_ij in NetworkLayout is just the adj matrix (i.e. 1 for every connected pair, 0 else). This seems to be wrong. It should be something like the shortes path between two nodes. Thats what GraphRecipes does. It makes sense that the layout looks only good for complete graphs now (where the adj matrix is the minimum pairwise distance between all nodes).
The implementation differences come down to the two solution strategies: equation solvers (2.1 in the paper) and local optimization (2.3).

@hexaeder hexaeder linked a pull request Sep 15, 2021 that will close this issue
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

Successfully merging a pull request may close this issue.

2 participants