There is a support page at http://graphviewer.nl
There is a blog with more screenshots from gml4gtk at https://myogdf.blogspot.com/
For windows users this open source project can improve by blocking
spy and other websites, see https://crazymax.dev/WindowsSpyBlocker/
For cross compilation of the source code there is also the project "Zero Setup" cross-compilation for C/C++. Supports numerous architectures, build systems, C standard libraries, vcpkg, and Conan. " at https://github.com/Alexhuszagh/xcross
There are often daily updates and changes of the source at notabug at https://notabug.org/mooigraph/gml4gtk/
The support for reading graphviz dot files is limited but daily improved with support for html style node labels and more issues to fix
The dot graph data which does not work with gml4gtk can be mailed or attached at the discussion section and it will be fixed.
The gml4gtk has sfg.c single-file graph layout library which can be used stand-alone or with python, tcl or java and has its own page on notabug at https://notabug.org/mooigraph/sfgraph
The GML graph data is easy to parse and often used in open source software and a patch to let GCC-10.1 compiler gml graph data is on notabug at https://notabug.org/mooigraph/gcc-10.1-gml
The GML graph data is easy to parse and can be used with ogdf and igraph libary and more programs
When you want javascipt graph layout routines as GNU GPL free software:
Create layered directed graphs with JavaScript and Scalable Vector Graphics using a Sugiyama barycenter algorithm.
https://github.com/speich/dGraph
When you like c++ programming you can also create such a tool using ogdf or igraph library or mipt-vis GNU GPL Free
When you like pyton or r programming that can be done with igraph library
When you like java programming there is unmaintained gvf on sourceforge which can read GML data
To generate a callgraph using GNU GCC compiler use option -fcallgraph-info and the ci file cn be used with gml4gtk open->vcg
The generated output.ci file is a vcg graph to be used with gml4gtk graph viewer
The GNU GCC has more options to generate graph data, just as the llvm clang compiler and that is documented on the blog
There is a free pdf about graph data structures and algorithms from jeff ericson http://jeffe.cs.illinois.edu/teaching/algorithms/
Wikibooks are free information books for example on graph theory at https://en.wikibooks.org/wiki/Category:Book:Graph_Theory
There are many free graph pdf's available to find using https://scholar.archive.org/
The gml4gtk program is in development and every new version can be better used with graph data from GCC or llvm clang coompilers.
These compiler options generate graph data of the compiler data also documented at https://graphviewer.nl/misc/tools/gcc/index.html
Depending on gcc compiler version these graph data output options are available:
-fdump-rtl-all-graph
-fdump-tree-all-graph
-fdump-ipa-all-graph
-fcallgraph-info
-fdump-analyzer-callgraph
-fdump-analyzer-exploded-graph
-fdump-analyzer-supergraph
-fdump-analyzer-state-purge
And there are also two unmaintained C++ programs with a qt gui interface as free software used with compiler data from GCC, icc and clang to mention which can be re-compiled.
These C++ programs have own sugiyama barycenter graph layout and support routines and interesting other features and for current compilers it needs updates on the parser code.They do not depend on graphviz.
One is mipt-vis as GNU GPL free software at https://github.com/MIPT-ILab-Compilers/MIPT-Vis
The updated mipt-vis compiler visualizer tool for qt5 and Linux is now at https://github.com/gml4gtk/miptgraph
And the other is showgraph at https://code.google.com/archive/p/showgraph/
About mipt-vis:
Mipt-vis is an open source tool that helps you to visualize compiler-specific graphs. It is also capable for performing different analyses on graphs. Primary goal is to implement user interface, layout algorithm and import of IR dumps from GCC and ICC.
About showgraph:
Showgraph is a simple graph editor/viewer. It allows for creating nodes and connecting them with edges. Nodes have editable labels and edges can be routed using control points. One of primary goals was to create lightweight and easy-to-use tool for fast construction of a graph's visual representation. Showgraph features an auto-layout for directed graphs.
Also these programs use their own xml data and can generate xml from the compiler data.
Now only find a C++ programmer to re-compile this open source and update the parsers for current GCC and llvm clang compiler data. done. see miptgraph on github
programs which depend on graphviz severely limit the user and themself to what is possible in graph layout and to make it more worse the output of graphviz does omit much important information about the graph data.
The solution is to keep using ogdf, igraph, showgraph, elk or otherwise and make sure all of the graph data details are available to the user.
And graphviz cannot write to gml, graphml, tulip or other graph formats to block interoperbility with other types of graph software then graphviz.
There are examples where this graphviz usage has been a problem this way as a anti-feature for the user as defined by fsf.org:
" Antifeatures are flags applied to applications to warn of issues that may be undesirable from the user's perspective. Frequently it is behavior that benefits the developer, but that the end user of the software would prefer not to be there."
https://directory.fsf.org/wiki/Free_Software_Directory:Antifeatures
Other software with anti-features is in this list of malware created by google, miscrosoft, apple and others:
https://www.gnu.org/proprietary/all.html
There are also online tools for graph layout or diagram drawing and some are free Software to install on own webserver
Markdeep https://casual-effects.com/markdeep/
markdown, ascii-to-all
Svgbob https://ivanceras.github.io/svgbob-editor/
ascii-to-all
Archetype https://fatiherikli.github.io/archetype/
ascii-drawing
Textik https://textik.com/
ascii-drawing
ASCIIFlow http://asciiflow.com/
ascii-drawing
Pikchr https://pikchr.org/home/pikchrshow
all
Kroki https://kroki.io/
BlockDiag, SeqDiag, ActDiag, NwDiag, PacketDiag, RackDiag, BPMN, Bytefield, PlantUML, Ditaa, Erd, Excalidraw, GraphViz, Mermaid, Nomnoml, PlantUML, SvgBob, UMLet, Vega, Vega-Lite, WaveDrom
BPMN Sketch Miner https://www.bpmn-sketch-miner.ai/
BPMN/flow
Webgraphviz http://www.webgraphviz.com/
graphviz
Viz.js http://viz-js.com/
graphviz
Edotor https://edotor.net/
graphviz
nomnoml http://www.nomnoml.com/
activity, class
Source: https://github.com/skanaar/nomnoml
CodeUML http://codeuml.com/ (dead)
uml
Source: https://github.com/oazabir/codeuml
yuml https://yuml.me/diagram/scruffy/class/draw
uml
PlantText http://www.planttext.com/planttext
activity, class, component, object, use case, state, graphviz, sequence, gui, earth
PlantUML http://www.plantuml.com/plantuml/uml/
activity, class, component, object, use-case, sequence, state, deployment, timing, gui, archimate, gantt, mindmap, tree, math, entity-relationship
Umple Online http://cruise.site.uottawa.ca/umpleonline/
class, state, composite
ZenUML https://app.zenuml.com/
sequence
DotUML https://dotuml.com/playground.html
class, use case, sequence, state, deployment, graphviz
QuickDBD https://app.quickdatabasediagrams.com/#/
entity-relationship
dbdiagram https://dbdiagram.io/d
entity-relationship
WebSequenceDiagrams https://www.websequencediagrams.com/
sequence
SVG Sequence Diagram http://sullerandras.github.io/SVG-Sequence-Diagram/
sequence
JUMLY http://jumly.tmtk.net (dead)
sequence
Source: https://github.com/tmtk75/jumly
js sequence diagrams http://bramp.github.io/js-sequence-diagrams/
sequence
swimlanes https://swimlanes.io/
sequence
SequenceDiagram https://sequencediagram.org/
sequence
GraphUp https://graphup.co/ (broken)
sequence, gantt
Text Diagram http://weidagang.github.io/text-diagram/
ascii sequence
Source: https://github.com/weidagang/text-diagram
ASCII Sequence Diagram Creator https://textart.io/sequence
ascii sequence
Chart Mage http://chartmage.com/index.html
sequence, flow
flowchart.js http://flowchart.js.org/
flow
drawthe http://go.drawthe.net/
network
Source: https://github.com/cidrblock/drawthe.net
mermaid https://mermaid-js.github.io/mermaid-live-editor/
flow, sequence, class, state, entity-relationship, gantt, pie, journey
Diagram.codes https://www.diagram.codes/
flow, sequence, graph, tree, onion, stack, system, timeline, mindmap
Blockdiag http://interactive.blockdiag.com/
block, activity, network, rack/stack, packet
state machine cat https://state-machine-cat.js.org/
state
Source: https://github.com/sverweij/state-machine-cat
MetaUML https://metauml.denksoft.com (dead)
Railroad Diagram Generator http://www.bottlecaps.de/rr/ui#_StringLiteral
railroad/syntax
Gleek https://www.gleek.io/
architecture
Ilograph https://app.ilograph.com/
architecture
Structurizr https://structurizr.com/dsl
architecture
Penrose https://github.com/penrose/penrose
penrose
code2flow https://app.code2flow.com/
flow
flowchart.fun https://flowchart.fun/
flow
WaveDrom https://wavedrom.com/editor.html
timing
CLI Text to Diagram Tools
perl graph-easy http://bloodgate.com/perl/graph/index.html #cli
flow
Doc: https://developpaper.com/recommend-a-tool-for-making-ascii-flow-chart-graph-easy
Example: graph-easy <<< [node 1]->[some text]-[this][node 1]->[branch]
Welcome to your wiki!
This is the default page, edit it as you see fit. To add a new page simply reference it within brackets, e.g.: [SamplePage].
The wiki uses Markdown syntax.