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 received 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
To install the project, run
pip install .Notice that graphviz needs to be installed on your system. You can find instructions to do so here.
For detailed instructions to install from source and pip see our documentation page.
