Discover Packages
github.com/nikolaydubina/go-graph-layout
module
Version:
v0.0.1
Opens a new window with list of versions in this module.
Published: May 9, 2024
License: MIT
Opens a new window with license information.
README
README
¶
Graph Layout Algorithms in Go
This module provides algorithms for graph visualization in native Go.
As of 2021-11-20, virtually all graph visualization algorithms are bindings to Graphviz dot code which is in C.
This module attempts to provide implementation of latest and best graph visualization algorithms from scratch in Go.
However, given this is very complex task this is work in progress.
Features
gonum Isomap
gonum Eades
Kozo Sugiyama layers strategy
Brandes-Köpf horizontal layers assignment [80% done]
Graphviz dot layers algorithm [80% done]
Gravity force
Spring force
Kozo Sugiyama Magnetic Force
Metro Style edges
Ports for edges
Spline edges
Collision avoidance (dot) edge path algorithm
Contributions
Yes please. These algorithms are hard. If you can, help to finish implementing any of above!
If lots of contributions, I am ok to merge this into some org!
References
Wiki Layered Graph Drawing
"Handbook of Graph Drawing and Visualization" , Roberto Tamassia, Brown, Ch.13, 2013
"A Technique for Drawing Directed Graphs" , Emden R. Gansner Eleftherios Koutsofios Stephen C. North Kiem-Phong Vo, AT&T Bell Laboratories, 1993
"Fast and Simple Horizontal Coordinate Assignment" , U. Brandes, Boris Köpf, 2002
"Methods for visual understanding of hierarchical system structures", Sugiyama, Kozo; Tagawa, Shôjirô; Toda, Mitsuhiko, 1981
"Graph Drawing by the Magnetic Spring Model", Kozo Sugiyama, 1995
Expand ▾
Collapse ▴
Directories
¶
Click to show internal directories.
Click to hide internal directories.