Graph-Easy-Manual

 view release on metacpan or  search on metacpan

doc/manual/features.html  view on Meta::CPAN

                  +------+          +--------+     +------+
</pre>

<p class="clear">
Please see the <a href="syntax.html#anon">chapter about the syntax</a>
for details on anonymous and invisible nodes and edges.
</p>

<a name="multiedge">
<h3>Multi-Edges</h3>
</a>

<p>
Most graphing packages also allow multi-edges. A multi-edge graph simply allows two edges going from the same
starting node to the same target node:
</p>

<pre>
[ Rostock ] -> [ Wismut ]
[ Rostock ] -> [ Wismut ]
</pre>

<img src="img/multi_edges.png" alt="Multi-edges" title="Multi-edges" class="float">

<pre class="graph">
  +---------------+
  |               v
+---------+     +--------+
| Rostock | --> | Wismut |
+---------+     +--------+
</pre>

<p class="clear">&nbsp;</p>

<a name="selfloops">
<h3>Self-Loops</h3>
</a>

<p>
In addition to that, self-loops are usefull for state-machines and flowcharts.
A self-loop is one edge going from one node back to the same node again:
</p>

<pre class="graphtext">
[ Chemnitz ] -> [ Chemnitz ]
</pre>

<img src="img/self_loop.png" alt="Self-loop" title="Self-loop" class="float">

<pre class="graph">
  +------+
  v      |
+----------+
| Chemnitz |
+----------+
</pre>

<p class="clear">&nbsp;</p>

<a name="edges">
<h3>Edge-parts as endpoint of another edges</h3>
</a>

<p>
Sometimes you want to point an edge towards the label of another edge.
Since tradionally edges can only connect nodes with other nodes,
Graph::Easy features nodes with a shape of <code>edge</code>, these
nodes will fit seamless into an edge and thus create the illusion that
you point the edge at the label of another edge:
</p>

<pre class="graphtext">
[ car ] { shape: edge; }

[ Bonn ] -- train --> [ Berlin ] -- [ car ] --> [ Ulm ]

[ rented ] --> [ car ]
</pre>

<pre class="graph">
+------+  train   +--------+      car           +-----+
| Bonn | -------> | Berlin | -----------------> | Ulm |
+------+          +--------+                    +-----+
                                   ^
                                   |
                                   |
                                 +--------+
                                 | rented |
                                 +--------+
</pre>

<p class="clear">&nbsp;</p>

<a name="directions">
<h3>Undirected and bidirectional edges</h3>
</a>

<p>
Another often used feature are undirected or bidirectional edges:
</p>

<pre class="graphtext">
[ Hamm ] <--> [ Leverkusen ]
[ Wismut ] -- [ Plauen ]
</pre>

<img src="img/edge_types.png" alt="Edge types undirected and bidirectional" title="Edge types undirected and bidirectional" class="float">

<pre class="graph">
+--------+      +------------+
|  Hamm  | <--> | Leverkusen |
+--------+      +------------+
+--------+      +------------+
| Wismut | ---- |   Plauen   |
+--------+      +------------+
</pre>

<p class="clear">&nbsp;</p>

<a name="clusters">
<h3>Groups (Clusters or Subgraphs)</h3>



( run in 2.117 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )