---
name: "Graph::Easy::Layout"
section: "3pm"
platform: "linux"
package: "libgraph-easy-perl"
version: "0.76-3"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/Graph::Easy::Layout"
---

# Graph::Easy::Layout(3pm)

Layout the graph from Graph::Easy

## NAME

Graph::Easy::Layout - Layout the graph from Graph::Easy

## SYNOPSIS

```
        use Graph::Easy;
        my $graph = Graph::Easy->new();
        my $bonn = Graph::Easy::Node->new(
                name => 'Bonn',
        );
        my $berlin = Graph::Easy::Node->new(
                name => 'Berlin',
        );
        $graph->add_edge ($bonn, $berlin);
        $graph->layout();
        print $graph->as_ascii( );
        # prints:
        # +------+     +--------+
        # | Bonn | --> | Berlin |
        # +------+     +--------+
```

## DESCRIPTION

`"Graph::Easy::Layout"` contains just the actual layout code for Graph::Easy.

## METHODS

`"Graph::Easy::Layout"` injects the following methods into the `"Graph::Easy"` namespace:

### layout()

```
        $graph->layout();
```

Layout the actual graph.

### \_assign\_ranks()

```
        $graph->_assign_ranks();
```

Used by `"layout()"` to assign each node a rank, so they can be sorted and grouped on these.

### \_optimize\_layout

Used by `"layout()"` to optimize the layout as a last step.

## EXPORT

Exports nothing.

## SEE ALSO

Graph::Easy.

## AUTHOR

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

See the LICENSE file for information.
