GraphViz graph drawing for mathematical graph/network
The library supports visualizing graph images, including them into webpages, opening up images from within CLI applications and exporting them as PNG, JPEG or SVG file formats (among many others). Because graph drawing is a complex area on its own, the actual layouting of the graph is left up to the excelent GraphViz "Graph Visualization Software" and we merely provide some convenient APIs to interface with GraphViz.
Note: This project is in beta stage! Feel free to report any issues you encounter.
Once installed, let's build and display a sample graph:
$graph = new Fhaculty\Graph\Graph();
$blue = $graph->createVertex('blue');
$blue->setAttribute('graphviz.color', 'blue');
$red = $graph->createVertex('red');
$red->setAttribute('graphviz.color', 'red');
$edge = $blue->createEdgeTo($red);
$edge->setAttribute('graphviz.color', 'grey');
$graphviz = new Graphp\GraphViz\GraphViz();
$graphviz->display($graph);
The above code will open your default image viewer with the following image:
The recommended way to install this library is through composer. New to composer?
{
"require": {
"graphp/graphviz": "~0.2.0"
}
}
In order to be able to use the graph drawing feature you'll have to
install GraphViz (dot
executable). Users of Debian/Ubuntu-based distributions may simply
invoke sudo apt-get install graphviz
, Windows users have to
download GraphViZ for Windows and remaining
users should install from GraphViz homepage.
Released under the terms of the permissive MIT license.