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"> </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"> </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"> </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"> </p>
<a name="clusters">
<h3>Groups (Clusters or Subgraphs)</h3>
( run in 2.117 seconds using v1.01-cache-2.11-cpan-5837b0d9d2c )