Shlomi Fish > Graph-Easy > Graph::Easy::Layout::Force

Download:
Graph-Easy-0.75.tar.gz

Dependencies

Annotate this POD

CPAN RT

New  20
Open  15
View/Report Bugs
Module Version: 0.75   Source  

NAME ^

Graph::Easy::Layout::Force - Force-based layouter for 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 |
        # +------+     +-----+     +--------+

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.

SEE ALSO ^

Graph::Easy.

METHODS ^

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

_layout_force()

Calculates the node position with a force-based method.

AUTHOR ^

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

See the LICENSE file for information.

syntax highlighting: