module Tree: sig
.. end
Create and draw trees
This module provides high-level means for creating and drawing Trees
type
t
The type of trees
type
arrow_style =
The style of arrows between nodes
type
edge_style =
| |
Straight |
| |
Curve |
| |
Square |
| |
HalfSquare |
There are several styles available for edges
val leaf : Box.t -> t
Creation
leaf b
creates a leaf with Box b
.
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
.
val to_box : t -> Box.t
val draw : ?debug:bool -> t -> Command.t
module Simple: sig
.. end