sig
  type device =
    Gnuplot_common_.device =
      X
    | Wxt
    | PS of string
    | EPS of string
    | EPSLaTeX of string
    | FIG of string
    | PNG of string
    | MP of string
    | MF of string
    | SVG of string
  type color = int
  type handle = Gnuplot_common_.handle
  type style =
    Gnuplot_common_.style =
      Lines
    | Linespoints
    | Points
    | Dots
    | Impulses
  val device_of_filename : string -> Gnuplot_common.T.device
  val init :
    ?offline:string ->
    ?max_inline:int ->
    ?persist:bool ->
    ?color:bool ->
    ?nxsub:int ->
    ?nysub:int ->
    ?xsize:float ->
    ?ysize:float ->
    ?aspect:float -> Gnuplot_common.T.device -> Gnuplot_common.T.handle
  val close : Gnuplot_common.T.handle -> unit
  val adv : ?sub:int -> Gnuplot_common.T.handle -> unit
  val clear : Gnuplot_common.T.handle -> unit
  val pen : Gnuplot_common.T.handle -> int -> unit
  val color : Gnuplot_common.T.handle -> Gnuplot_common.T.color -> unit
  val pen_width : Gnuplot_common.T.handle -> float -> unit
  val point : Gnuplot_common.T.handle -> int -> unit
  val point_width : Gnuplot_common.T.handle -> float -> unit
  val font : Gnuplot_common.T.handle -> string -> unit
  val font_size : Gnuplot_common.T.handle -> int -> unit
  val title : Gnuplot_common.T.handle -> string -> unit
  val xlabel : Gnuplot_common.T.handle -> string -> unit
  val ylabel : Gnuplot_common.T.handle -> string -> unit
  type coord = Graph | Viewport | Subpage | World
  val text :
    Gnuplot_common.T.handle ->
    ?tag:int ->
    ?frame:float ->
    ?rotate:float ->
    ?coord:Gnuplot_common.T.coord -> float -> float -> string -> unit
  val show : ?immediately:bool -> ?tag:int -> Gnuplot_common.T.handle -> unit
  val hide : ?immediately:bool -> ?tag:int -> Gnuplot_common.T.handle -> unit
  val auto : tag:int -> Gnuplot_common.T.handle -> unit
  val free : tag:int -> Gnuplot_common.T.handle -> unit
  val win :
    Gnuplot_common.T.handle -> float -> float -> float -> float -> unit
  type axis_opt
  type border_loc = int list
  val axis :
    ?which:Gnuplot_common.T.border_loc -> unit -> Gnuplot_common.T.axis_opt
  val border :
    ?which:Gnuplot_common.T.border_loc -> unit -> Gnuplot_common.T.axis_opt
  val tics :
    ?which:Gnuplot_common.T.border_loc ->
    ?outward:bool ->
    ?grid:bool ->
    ?minor:int ->
    ?minor_grid:bool ->
    ?log:bool -> ?step:float -> unit -> Gnuplot_common.T.axis_opt
  val labels :
    ?which:Gnuplot_common.T.border_loc ->
    ?prec:int -> ?rotate:bool -> unit -> Gnuplot_common.T.axis_opt
  val box :
    ?x:Gnuplot_common.T.axis_opt list ->
    ?y:Gnuplot_common.T.axis_opt list -> Gnuplot_common.T.handle -> unit
  val env :
    Gnuplot_common.T.handle ->
    ?xaxis:bool ->
    ?xgrid:bool ->
    ?xlog:bool ->
    float ->
    float ->
    ?yaxis:bool -> ?ygrid:bool -> ?ylog:bool -> float -> float -> unit
  val fx :
    Gnuplot_common.T.handle ->
    ?tag:int ->
    ?style:Gnuplot_common.T.style ->
    ?label:string ->
    ?nsamples:int -> (float -> float) -> float -> float -> unit
  val xy_param :
    Gnuplot_common.T.handle ->
    ?tag:int ->
    ?style:Gnuplot_common.T.style ->
    ?label:string ->
    ?nsamples:int -> (float -> float * float) -> float -> float -> unit
  val xy_file :
    Gnuplot_common.T.handle ->
    ?tag:int ->
    ?style:Gnuplot_common.T.style -> ?label:string -> string -> unit
  val box3 :
    ?x:Gnuplot_common.T.axis_opt list ->
    ?y:Gnuplot_common.T.axis_opt list ->
    ?z:Gnuplot_common.T.axis_opt list -> Gnuplot_common.T.handle -> unit
  val env3 :
    Gnuplot_common.T.handle ->
    ?xaxis:bool ->
    ?xgrid:bool ->
    ?xlog:bool ->
    float ->
    float ->
    ?yaxis:bool ->
    ?ygrid:bool ->
    ?ylog:bool ->
    float ->
    float ->
    ?zaxis:bool -> ?zgrid:bool -> ?zlog:bool -> float -> float -> unit
  val fxy :
    Gnuplot_common.T.handle ->
    ?tag:int ->
    ?style:Gnuplot_common.T.style ->
    ?label:string ->
    ?xnsamples:int ->
    ?ynsamples:int ->
    (float -> float -> float) -> float -> float -> float -> float -> unit
  val fxy_param :
    Gnuplot_common.T.handle ->
    ?tag:int ->
    ?style:Gnuplot_common.T.style ->
    ?label:string ->
    ?xnsamples:int ->
    ?ynsamples:int ->
    (float -> float -> float * float * float) ->
    float -> float -> float -> float -> unit
  val xyz_ft :
    Gnuplot_common.T.handle ->
    ?tag:int ->
    ?style:Gnuplot_common.T.style ->
    ?label:string ->
    ?tnsamples:int ->
    (float -> float * float * float) -> float -> float -> unit
end