logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

Graph::Easy::Layout::Force - Force-based layouter for Graph::Easy

Author

       Copyright (C) 2004 - 2007 by Tels <http://bloodgate.com>.

       See the LICENSE file for information.

perl v5.36.0                                       2022-11-20                    Graph::Easy::Layout::Force(3pm)

Description

       "Graph::Easy::Layout::Force" contains routines that calculate a force-based layout for a graph.

       Nodes repell each other, while edges connecting them draw them together.

       The layouter calculates the forces on each node, then moves them around according to these forces until
       things have settled down.

       Used automatically by Graph::Easy.

Export

       Exports nothing.

Methods

       This module injects the following methods into Graph::Easy:

   _layout_force()
       Calculates the node position with a force-based method.

Name

       Graph::Easy::Layout::Force - Force-based layouter for Graph::Easy

See Also

       Graph::Easy.

Synopsis

               use Graph::Easy;

               my $graph = Graph::Easy->new();

               $graph->add_edge ('Bonn', 'Berlin');
               $graph->add_edge ('Bonn', 'Ulm');
               $graph->add_edge ('Ulm', 'Berlin');

               $graph->layout( type => 'force' );

               print $graph->as_ascii( );

               # prints:

               #   +------------------------+
               #   |                        v
               # +------+     +-----+     +--------+
               # | Bonn | --> | Ulm | --> | Berlin |
               # +------+     +-----+     +--------+

See Also