`type 'a curve`

'a store the information about :

- the way the curve is drawn (style and color)
- the label used in the legend

`val curve : (float -> float) -> 'a -> 'a curve`

create a curve from a function and some information of drawing

`val curve_opt : (float -> float option) -> 'a -> 'a curve`

create a curve from a function and some information of drawing. If the function return None the function is not defined on this value

`val curve_l : (float -> float option) list -> 'a -> 'a curve`

create a curve from multiple function and some information of drawing. The different functions symbolize different part of the curve which mustn't be connected

`val draw : ?logarithmic:bool -> ?curve_brush:('a -> Brush.t) -> ?label:('a -> string) -> ?ymin:float -> ?ymax:float -> xmin:float -> xmax:float -> pitch:float -> width:Num.t -> height:Num.t -> 'a curve list -> Command.t`