sig
  type layout_t = [ `Landscape | `Portrait | `Size of int * int ]
  type label_t = [ `Subtitle | `Title | `XAxis | `YAxis ]
  type 'a auto_option_t = [ `Auto | `Manual of '| `None ]
  type linestyle_t = int array Grace.auto_option_t
  type symbol_t = int array Grace.auto_option_t
  type grid_t = [ `Major | `Minor | `None ]
  type tick_t =
    [ `Auto
    | `None
    | `Number of int * int
    | `Spacing of float * int
    | `Unchanged ]
  type driver_t =
    [ `EPS of string
    | `JPEG of string
    | `MF of string
    | `MIF of string
    | `PNG of string
    | `PNM of string
    | `PS of string
    | `SVG of string ]
  class grace_view :
    ?debug:bool ->
    ?layout:Grace.layout_t ->
    unit ->
    object
      val mutable auto_redraw : bool
      val gp : Grace_proc.grace_process
      method axes :
        ?num:int ->
        ?xmin:float ->
        ?xmax:float ->
        ?ymin:float ->
        ?ymax:float ->
        ?xtick:Grace.tick_t -> ?ytick:Grace.tick_t -> unit -> unit
      method exec : string -> unit
      method label :
        ?num:int ->
        ?font:int -> ?size:float -> Grace.label_t -> string -> unit
      method multiplot :
        ?rows:int ->
        ?cols:int ->
        ?offset:float -> ?hgap:float -> ?vgap:float -> unit -> unit
      method plot :
        ?num:int ->
        ?stem:bool ->
        ?linestyle:int ->
        ?linewidth:float ->
        ?symbol:int ->
        ?symbolsize:float ->
        ?logx:bool ->
        ?logy:bool ->
        ?grid:Grace.grid_t -> float array -> float array -> unit
      method plot_many :
        ?num:int ->
        ?stem:bool ->
        ?linestyle:Grace.linestyle_t ->
        ?linewidth:float ->
        ?symbol:Grace.symbol_t ->
        ?symbolsize:float ->
        ?logx:bool ->
        ?logy:bool ->
        ?grid:Grace.grid_t ->
        ?legend:string array ->
        ?legendfont:int ->
        ?legendfontsize:float ->
        ?iter:(int -> unit) -> float array array -> float array array -> unit
      method print : ?driver:Grace.driver_t -> unit -> unit
      method redraw : unit -> unit
      method set_auto_redraw : bool -> unit
    end
  val linspace : float -> float -> int -> float array
  val logspace : float -> float -> int -> float array
end