plotter

[Function]
  (`plotter` {keyword value}* {data}*)

Returns a plotter window configured according to keyword arguments and displaying zero or more data sets.

`plotter` supports the following keyword arguments:

:title string
  The title that appears in the title bar the top of the window. Defaults to "Untitled".
:x-axis {axis | prototype}
  Specifies the horizontal display axis. The value can be an axis object or a keyword axis prototype name. See the axis function for more information. If no axis is supplied then plotter will attempt to create an appropriate axis based on an examination of all data sets.
:y-axis axis
  Like :x-axis except that it controls the vertical display.
:point-class symbol
  The CLOS class to instantiate when adding new points to the display, including points created when numerical data is passed to plotter. The default point class is point.
:view {symbol | list}
  A keyword symbol or list of keyword symbols controlling the initial plotting style of each layer in the display. If a symbol is specified it controls all the data sets passed in to plotter. If the value is a list of views then each value in the list is paired with its corresponding data set in the argument list. Available views are:
  - :line-and-point
  - :line
  - :point
  - :bar
  - :bar-and-point
  - :box
  - :bubble
  - :notation
:color {string | list}
  A string or list of strings that determines the color each layer will use in the display. The string can be a rgb hex value in the format "#rrggbb" or the name of a color defined in rgb.text. Values are assigned to layers in the same manner as :view.
:line-width {integer | list}
  An integer or list of integers controlling the line-width (in pixels) used in each layer. Values are assigned in the same manner as :view.
:point-width {integer | list}
  An integer or list of integers controlling the point-width (in pixels) used in each layer. Values are assigned in the same manner as :view.
:point-height {integer | list}
  An integer or list of integers controlling the point-height (in pixels) used in each layer. Values are assigned in the same manner as :view.
:point-size {integer | list}
  Short-hand for specifying identical values to :point-width and :point-height.
:x-slot {symbol | list}
  Short-hand for specifying a :slot in the x-axis. See axis initializations for more information.
:y-slot {symbol | list}
  Like :x-slot but for the y-axis.
:zoom number
  Short-hand for specifying an identical :zoom value to both axes.
:event-layering {:add | :mix | :replace | :overwrite}
  Determines how generated musical events are added to the window. If the value is :add then the new events are added as a new layer. If the value is :mix then the new events are mixed into the contents of the focus layer. If the value is :replace then the events replace the contents of the current focus layer. If the value is :overwrite then the events replace existing events that occupy the same time line as the new events. The default value is :add.

Following all keyword arguments comes zero or more data sets to display. Data sets can be specified in three different formats:

- Lists of x y coordinate values.
- Lists of CLOS objects.
- seq objects containing CLOS objects.

If lists of x y values are specified then plotter will convert these to true point lists using the value of :point-class or the point class if nothing is specified.

#### Examples:

See the Examples section in Plotter's main entry.

#### See also:

- Plotter API [Topic]