|
NAMESpringGraph - Directed Graph alternative to GraphVizSYNOPSISuse SpringGraph qw(calculate_graph draw_graph);## object oriented interface ## my $graph = new SpringGraph; # add a node to the graph (with optional label) $graph->add_node('Paris', label =>'City of Love'); # add an edge to the graph (with optional label, and directed) $graph->add_edge('London' => 'New York', label => 'Far', dir=>1); # output the graph to a file $graph->as_png($filename); # get the graph as GD image object $graph->as_gd; ## procedural interface ## my %node = ( london => { label => 'London (Waterloo)'}, paris => { label => 'Paris' }, brussels => { label => 'Brussels'}, ); my %link = ( london => { paris => {style => 'dotted'}, 'new york' => {} }, # non-directed, dotted and plain lines paris => { brussels => { dir => 1} }, # directed from paris to brussels ); my $graph = calculate_graph(\%node,\%link); draw_graph($filename,\%node,\%link); DESCRIPTIONSpringGraph.pm is a rewrite of the springgraph.pl script, which provides similar functionality to Neato and can read some/most dot files.The goal of this module is to provide a compatible interface to VCG and/or GraphViz perl modules on CPAN. This module will also provide some extra features to provide more flexibility and power. METHODSClass MethodsnewConstructor for the class, returns a new SpringGraph objectmy $graph = SpringGraph->new; calculate_graphreturns a hashref of the nodes in the graph, populated with coordinatesmy $graph = calculate_graph(\%node,\%link); draw_graphoutputs the graph as a png file either to the file specified by the filename or to STDOUTtakes filename, hashref of nodes and list of edges draw_graph($filename,\%node,\%link); Object Methodsadd_nodeadds a node to a graphtakes the name of the node and any attributes such as label # just like GraphViz.pm :) $graph->add_node('Paris', label =>'City of Love'); add_edgeadds an edge to a graphtakes the source and destination of the edge and attributes such as style (dotted or dashed), or if the line is directed or not $graph->add_edge('London' => 'New York', dir => 1, style=>'dashed'); as_pngprints the image of the graph in PNG formattakes an optional filename or outputs directly to STDOUT $graph->as_png($filename); as_gdreturns the GD image object of the graphmy $gd_im = $graph->as_gd; as_gdreturns the image of the graph in a string in the format specified or PNGmy $graph_png = $graph->as_image('png'); SEE ALSOGraphVizspringgraph.pl http://www.chaosreigns.com/code/springgraph/ GD AUTHORAaron Trevena, based on original script by 'Darxus'COPYRIGHTOriginal Copyright 2002 Darxus AT ChaosReigns DOT comAmendments and further development copyright 2004 Aaron Trevena This software is free software. It is made available and licensed under the GNU GPL.
Visit the GSP FreeBSD Man Page Interface. |