Mlpost.Tree
Create and draw trees
This module provides high-level means for creating and drawing Trees
type arrow_style =
| Directed | (* edges are directed and an arrow is drawn at the end of an edge *) |
| Undirected | (* edges are undirected and no arrow is drawn *) |
The style of arrows between nodes
type edge_style =
There are several styles available for edges
val node : ?ls:Num.t -> ?cs:Num.t -> ?arrow_style:arrow_style -> ?edge_style:edge_style -> ?stroke:Color.t -> ?brush:Brush.t -> ?pen:Pen.t ->
?sep:Num.t -> Box.t -> t list -> t
node label children
creates a node with label label
and a list of children children
. Default arrow_style is Directed
. Default edge_style is Straight
.
ls
(level sep): vertical distance between levels. The default value is 1.0. A negative value draws the tree upward.cs
(children sep): horizontal distance between siblings. The default value is 0.2. Optional arguments are the same as in leaf
.val nodel : ?ls:Num.t -> ?cs:Num.t -> ?arrow_style:arrow_style -> ?edge_style:edge_style -> ?stroke:Color.t -> ?brush:Brush.t -> ?pen:Pen.t
-> ?sep:Num.t -> Box.t -> (t * (Command.position * Picture.t)) list -> t
Similar to node
but with labels on edges. Labels are taken into account only when edge_style
is Straight
.
val bin : ?ls:Num.t -> ?cs:Num.t -> ?arrow_style:arrow_style -> ?edge_style:edge_style -> ?stroke:Color.t -> ?brush:Brush.t -> ?pen:Pen.t ->
?sep:Num.t -> Box.t -> t -> t -> t
bin label l r
creates a binary node with label label
and children l
and r
. Optional arguments are the same as in leaf
.
module Simple : sig ... end