-
graph drawing layout algorithms - nice overview by one of the current experts in the field.
-
graphdrawing.org - research and publication overview for field of graph drawing edited by same author as above.
-
adaptagrams - see swig python wrapper
-
pyhola: my wrapper of hola algo
-
see A Generic Framework for the Topology-Shape-Metrics Based Layout by Paul Klose
-
A fork of tsmpy - OrthogonalDrawing
-
NetworkX -- mature Python package for the creation, manipulation, and study of the structure, dynamics, and functions of complex networks.
-
igraph -- mature general graph analysis and drawing. See in particular layout algos
-
graphviz -- python bindings -- mature open source graph visualization software. See also graphviz c library libgvc
-
gandalf -- promising new graph and drawing algorithms framework
-
toyplot -- plotting toolkit from one of the major reseach labs.
-
jaal -- interactive network visualization
-
orthogonal-drawing-algorithm and its fork OrthogonalDrawing
-
netgraph -- Python module to make publication quality plots of weighted, directed graphs of medium size (10-100 nodes).see also here
-
tulip-python --
-
adaptagrams c++ library of tools and reusable code for adaptive diagramming applications, for example: drawing tools, automated document and diagram layout, smart presentation software, graph drawing, chart layout.
-
gephi java based mature graph visualization application.
-
dagre-d3 A D3-based renderer for the Dagre graph-drawing engine
- Visualizing Networks in Pythnon by the author of Jaal
-
https://stackoverflow.com/questions/21978487/improving-python-networkx-graph-layout
-
https://stackoverflow.com/questions/5028433/graph-auto-layout-algorithm
-
https://stackoverflow.com/questions/45174962/getting-layout-coordinates-of-graph-vertices-using-python-networkx-pygraphviz (includes a trick to generate svg from graphviz and then get coordinates from the svg)
-
https://stackoverflow.com/questions/13938770/how-to-get-the-coordinates-from-layout-from-graphviz
-
<https://stackoverflow.com/questions/53120739/lots-of-edges-on-a-gr In [6]: g.add_edges(zip(range(10), range(1,9)))
In [7]: summary(g) IGRAPH U--- 10 8 --
In [8]: g.vs.degree() Out[8]: [1, 2, 2, 2, 2, 2, 2, 2, 1, 0]
In [9]: layout = g.layout_reingold_tilford(root=[2])
In [10]: layout Out[10]: <Layout with 10 vertices and 2 dimensions>
In [11]: layout.coords Out[11]: [[-1.0, 2.0], [-1.0, 1.0], [0.0, 0.0], [0.0, 1.0], [0.0, 2.0], [0.0, 3.0], [0.0, 4.0], [0.0, 5.0], [0.0, 6.0], [1.0, 1.0]]