sig
  module type GNUPLOT_COMMON =
    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
end