Skip to content

🔮 Graph Layout Algorithms in Go

License

Notifications You must be signed in to change notification settings

gverger/go-graph-layout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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