Gp
The workflow is:
(module Plot) -> unit
functiondraw
below.Simple example:
open Gp
let figure (module P: Plot) =
P.plot (S "cos(x)") ~style:"l lc 8 lw 2" [ barebone ]
let () = draw ~output:(png "test.png") figure
val prms : ?tmp_root:string -> ?gnuplot:string -> ?init:string -> unit -> prms
val set : string -> property
val unset : string -> property
val load : string -> property
val barebone : property
Trim the plot to the bare minimum: no axes, no labels, no tics, nothing but your lovely plot. A great place to start for a beautiful plot.
val title : ?o:string -> string -> property
val tics : string -> property
val xtics : ?o:string ->
[ `auto | `manual of (float * string) list | `regular of float list ] -> property
val ytics : ?o:string ->
[ `auto | `manual of (float * string) list | `regular of float list ] -> property
val ztics : ?o:string ->
[ `auto | `manual of (float * string) list | `regular of float list ] -> property
val cbtics : ?o:string ->
[ `auto | `manual of (float * string) list | `regular of float list ] -> property
val x2tics : ?o:string ->
[ `auto | `manual of (float * string) list | `regular of float list ] -> property
val y2tics : ?o:string ->
[ `auto | `manual of (float * string) list | `regular of float list ] -> property
val xlabel : ?o:string -> string -> property
val ylabel : ?o:string -> string -> property
val zlabel : ?o:string -> string -> property
val cblabel : ?o:string -> string -> property
val x2label : ?o:string -> string -> property
val y2label : ?o:string -> string -> property
val xrange : ?o:string -> (float * float) -> property
val yrange : ?o:string -> (float * float) -> property
val zrange : ?o:string -> (float * float) -> property
val cbrange : ?o:string -> (float * float) -> property
val x2range : ?o:string -> (float * float) -> property
val y2range : ?o:string -> (float * float) -> property
val default_props : property list
Some decent default plot properties.
type data =
See Plot.plot
for meaning of parameters. Example:
let () =
let x = Mat.gaussian 100 4 in
let fig (module P: Plot) =
P.plots
[ item (A x) ~using:"1:3" ~style:"p pt 7 lc 8 ps 0.5";
item (A x) ~using:"2:4" ~style:"p pt 7 lc 7 ps 0.5" ]
[ barebone ] in
draw ~output:(png "test") fig
module type Plot = sig ... end
Contains all the commands you need to draw your figure
NB: if you are in a Jupyter notebook, you should not use any of the terminals below; instead, use Juplot
.draw.
val svg : ?font:string -> ?size:(int * int) -> ?other_term_opts:string -> string -> output
val png : ?font:string -> ?size:(int * int) -> ?other_term_opts:string -> string -> output
val qt : ?id:int -> ?font:string -> ?size:(int * int) -> ?other_term_opts:string ->
?pause:string -> unit -> output
val latex : ?term_opts:string -> string -> output
val cmbright : tikz_font
val helvetica : tikz_font
Main drawing function: takes an output terminal (see Output terminals above) and a figure.
val interactive : ?interactive:bool -> ?size:(int * int) ->
((module Plot) -> unit) -> unit
This is a shorthand for draw ~output:(qt ())
;