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