next up previous
Next: SkyAxis - Store celestial axis information
Up: AST Class Descriptions
Previous: PermMap - Coordinate permutation Mapping

Plot - Provide facilities for graphical output   

Description:
This class provides facilities for producing graphical output. A Plot is a specialised form of FrameSet, in which the base Frame describes a "graphical" coordinate system and is associated with a rectangular plotting area in the underlying graphics system. This plotting area is where graphical output appears. It is defined when the Plot is created.

The current Frame of a Plot describes a "physical" coordinate system, which is the coordinate system in which plotting operations are specified. The results of each plotting operation are automatically transformed into graphical coordinates so as to appear in the plotting area (subject to any clipping which may be in effect).

Because the Mapping between physical and graphical coordinates may often be non-linear, or even discontinuous, most plotting does not result in simple straight lines. The basic plotting element is therefore not a straight line, but a geodesic curve (see AST_CURVE, AST_GENCURVE and AST_POLYCURVE). A Plot also provides facilities for drawing markers or symbols (AST_MARK), text (AST_TEXT) and grid lines (AST_GRIDLINE). It is also possible to draw curvilinear axes with optional coordinate grids (AST_GRID). A range of Plot attributes is available to allow precise control over the appearance of graphical output produced by these routines.

You may select different physical coordinate systems in which to plot (including the native graphical coordinate system itself) by selecting different Frames as the current Frame of a Plot, using its Current attribute. You may also set up clipping (see AST_CLIP) to limit the extent of any plotting you perform, and this may be done in any of the coordinate systems associated with the Plot, not necessarily the one you are plotting in.

Like any FrameSet, a Plot may also be used as a Frame. In this case, it behaves like its current Frame, which describes the physical coordinate system.

When used as a Mapping, a Plot describes the inter-relation between graphical coordinates (its base Frame) and physical coordinates (its current Frame). It differs from a normal FrameSet, however, in that an attempt to transform points which lie in clipped areas of the Plot will result in bad coordinate values (AST__BAD).

Constructor Function:
AST_PLOT

Inheritance
The Plot class inherits from the FrameSet class.

Attributes
In addition to those attributes common to all FrameSets, every Plot also has the following attributes:

Functions
In addition to those routines applicable to all FrameSets, the following routines may also be applied to all Plots:

  • AST_BORDER: Draw a border around valid regions of a Plot
  • AST_BOUNDINGBOX: Returns a bounding box for previously drawn graphics
  • AST_CLIP: Set up or remove clipping for a Plot
  • AST_CURVE: Draw a geodesic curve
  • AST_GENCURVE: Draw a generalized curve
  • AST_GRFPOP: Retrieve previously saved graphics functions
  • AST_GRFPUSH: Save the current graphics functions
  • AST_GRFSET: Register a graphics routine for use by the Plot class
  • AST_GRID: Draw a set of labelled coordinate axes
  • AST_GRIDLINE: Draw a grid line (or axis) for a Plot
  • AST_MARK: Draw a set of markers for a Plot
  • AST_POLYCURVE: Draw a series of connected geodesic curves
  • AST_TEXT: Draw a text string for a Plot

Graphical Elements
The colour index, character font, character size, line style and line width used for plotting can be set independently for various elements of the graphical output produced by a Plot. The different graphical elements are identified by appending the strings listed below as subscripts to the Plot attributes Colour(element), Font(element), Size(element), Style(element) and Width(element). These strings are case-insensitive and unambiguous abbreviations may be used. Elements of the graphical output which relate to individual axes can be referred to either independently (e.g. "(Grid1)" and "(Grid2)" ) or together (e.g. "(Grid)"):

  • Axes: Axis lines drawn through tick marks using AST_GRID
  • Axis1: Axis line drawn through tick marks on axis 1 using AST_GRID
  • Axis2: Axis line drawn through tick marks on axis 2 using AST_GRID
  • Border: The Plot border drawn using AST_BORDER or AST_GRID
  • Curves: Geodesic curves drawn using AST_CURVE, AST_GENCURVE or AST_POLYCURVE
  • Grid: Grid lines drawn using AST_GRIDLINE or AST_GRID
  • Grid1: Grid lines which cross axis 1, drawn using AST_GRIDLINE or AST_GRID
  • Grid2: Grid lines which cross axis 2, drawn using AST_GRIDLINE or AST_GRID
  • Markers: Graphical markers (symbols) drawn using AST_MARK
  • NumLab: Numerical axis labels drawn using AST_GRID
  • NumLab1: Numerical labels for axis 1 drawn using AST_GRID
  • NumLab2: Numerical labels for axis 2 drawn using AST_GRID
  • Strings: Text strings drawn using AST_TEXT
  • TextLab: Descriptive axis labels drawn using AST_GRID
  • TextLab1: Descriptive label for axis 1 drawn using AST_GRID
  • TextLab2: Descriptive label for axis 2 drawn using AST_GRID
  • Ticks: Tick marks (both major and minor) drawn using AST_GRID
  • Ticks1: Tick marks (both major and minor) for axis 1 drawn using AST_GRID
  • Ticks2: Tick marks (both major and minor) for axis 2 drawn using AST_GRID
  • Title: The Plot title drawn using AST_GRID



next up previous
Next: SkyAxis - Store celestial axis information
Up: AST Class Descriptions
Previous: PermMap - Coordinate permutation Mapping

AST A Library for Handling World Coordinate Systems in Astronomy
Starlink User Note 210
R.F. Warren-Smith & D.S. Berry
30th April 2003
E-mail:ussc@star.rl.ac.uk

Copyright (C) 2003 Central Laboratory of the Research Councils