A declarative visualizer for graphs defined as a set of facts. The graphs are generated using graphviz but are defined via fixed predicates that can be computed from logic programs.
Graph defined by facts
node(clingraph). node(visual). node(asp).
edge((clingraph,visual)). edge((clingraph,asp)).
attr(node,clingraph,style,filled).
Clingraph also contains special features for integration with clingo, as well as for generating latex code and gifs!
Check out our paper here. This work was published in LPNMR22 where it recived the "Best student paper award".
Look at our documentation page to see how to use clingraph.
Try clingraph via command line or as a package online in a jupyter notebook via
Our examples folder shows how to use the range of functionalities in different applications.
- Examples used in the documentation (doc)
- Simple (color, cube, lights)
- Clingo integration (sudoku, reify, transition_system)
- Absolute positioning
- Legends
- Latex integration
- Dynamic applications (asprilo, elevator, minotaur)
- Clingo integration
- Multi graphs
- Animation via Gif
- SVG interaction (family_tree, queens_interactive, minesweeper)
- Interaction using SVG
- Visualizing the solving and program structure
- Python (version 3.8, 3.9, or 3.10)
For instructions to install from source, pip and conda see our documentation page.