GNU GPL Free C++ directed graph layout library

mooigraph 151b97431d updated edge info 2 years ago
src 0341bab464 updated edge info 2 years ago
.gitignore cf6dae4a51 Initial commit 3 years ago
Doxyfile 47a5cfdf94 updated compilation 3 years ago
LICENSE 47a5cfdf94 updated compilation 3 years ago
Makefile.am 79d798f73b layout update 2 years ago
README.md e1650415e2 drawing gml graph data with gtk+ gui program miptgml 2 years ago
TODO 0341bab464 updated edge info 2 years ago
autogen.sh 79d798f73b layout update 2 years ago
config.h 0341bab464 updated edge info 2 years ago
configure.ac f710b26981 first part of gui program miptgml added 2 years ago
dmake 47a5cfdf94 updated compilation 3 years ago
gplv3-with-text-84x42.png ace799527f added right left node in node data 2 years ago
miptgraph.pc.in dae6960c49 initial 3 years ago
screenshot.png 4ff5c3f89b updated layout algo 2 years ago
screenshot2.png 34cc42372f added c interface 2 years ago

README.md

miptgraph

GNU GPL Free C++ directed graph layout library

This is a GNU GPL Free stand-alone C++ Graph Layout Library based on GNU GPL Version 3 Free Mipt-Vis tool from Moscow Institute of Physics and Technology( MIPT)
This project is another reincarnation of the Mipt-Vis project.

To compile:
./autogen.sh
./configure
make

To clean: make clean
make distclean
make cleaner

To indent sources: make indent

Version 1: initial with minimal InitCoordinates() routine to be improved
Version 2: in development

The directory src/test2 has the gtk+ gui program miptgml for use with gml graph data
The directory src/test1 and test2 has example programs how to use this graph layout library.
The source is documented for use with the doxygen program generating html documentation.
The dmake script can be usd to get a log file of the make process
This library has own routines for hierarchial graph layout and does not depend on graphviz or other libs
This library has a c interface to use it with normal c source code
The Graph and Layout directory does not depend on qt5 library or other libraries
To compile this C++ with emscripten or otherwise to wasm webassembly should be possible to run it in the browser
The user interface program must copy some graph data to/from this library to make sure it does not depend on qt5
Because multiple graphs can be layouted independent at once it can be used to layout bigger graph with subgraphs
There are almost no C++ libraries for graph layout with sugiyama algorithm but other GPL Free ones are ogdf, graphlhet and igraph

Most so called graph layout programs are only spring embedder layout or drawing programs.

Other software implementing sugiyama barycenter graph algorithm are
C, GPL, gml4gtk graph viewer with GTK+ gui gml4gtk
C, GPL, single c file directed graph layout singlefilegraph
C, GPL, minimize crossings with science papers crossings-minimazation
C, GPL, unmaintined graphed editor graphed
C, GPL, ginger graph editor with matrix barycenter, offline
C, GPL, rdis for Linux GTK+ gui rdis
C, GPL, GTK+ graph viewer with folding tuxsee
C, GPL, xsurgeon or surgeonsrc toolkit surgeon
C++, gpl, graphlet graph viewer graphlet
C++, GPL, big graph library ogdf
C++, GPL, graph lib with python, R interface igraph
C++, MIT, bgl graph library using boost bgl
C++, GPL, mipt graph visualizer mipt-vis
C++, GPL, mipt graph library icdv
javascript, MIT, dagre lib dagre
javascript, sugiyama drawing sigiyma-drawing
javascript, some theory info and javascript theory
javascript, sugiyama drawing lib sugiyama-javascript
javascript, GPL, sugiyama in web browser dGraph
javascript, sugiyama javascript sugiyama-javascript
javascript, blog blog
javascript, MIT, mxgraph javascript mxgraph-js
java, sugiyama in java itaka-digrap
java, sugiyama, sugiyma-java
java, graph framework gvf
Python, minimize edge crossings mincrossings
Python, GPL, python drawing python-sugiyama
Python, GPL, python graph granndalf
Python, BSD, maybe grakel grakel
Python, reduce edge crossings datavis
Python, mipt graph layout course miptcourse
elm, sugiyama drawing elm
typescript, sugiyama drawing sugiyama-typescript
typescript, sugiyama, sugiyama-typescript
typescript, MIT, d3 dag d3-dag

screenshot screenshot2 screenschotmiptgml

gplv3

SPDX-License-Identifier: GPL-3.0+
License-Filename: LICENSE

🇳🇱