next up previous 264
Next: Plot3D - Provide facilities for 2D graphical output
Up: AST Class Descriptions
Previous: PermMap - Coordinate permutation Mapping


Plot - Provide facilities for 2D graphical output

Description:
This class provides facilities for producing 2D 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 astCurve, astGenCurve and astPolyCurve). A Plot also provides facilities for drawing markers or symbols (astMark), text (astText) and grid lines (astGridLine). It is also possible to draw curvilinear axes with optional coordinate grids (astGrid). A range of Plot attributes is available to allow precise control over the appearance of graphical output produced by these functions.

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 astClip) 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:
astPlot
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 functions applicable to all FrameSets, the following functions may also be applied to all Plots:

  • astBBuf: Begin a new graphical buffering context

  • astBorder: Draw a border around valid regions of a Plot

  • astBoundingBox: Returns a bounding box for previously drawn graphics

  • astClip: Set up or remove clipping for a Plot

  • astCurve: Draw a geodesic curve

  • astEBuf: End the current graphical buffering context

  • astGenCurve: Draw a generalized curve

  • astGetGrfContext: Get the graphics context for a Plot

  • astGrfPop: Retrieve previously saved graphics functions

  • astGrfPush: Save the current graphics functions

  • astGrfSet: Register a graphics routine for use by a Plot

  • astGrid: Draw a set of labelled coordinate axes

  • astGridLine: Draw a grid line (or axis) for a Plot

  • astMark: Draw a set of markers for a Plot

  • astPolyCurve: Draw a series of connected geodesic curves

  • astText: 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 astGrid

  • Axis1: Axis line drawn through tick marks on axis 1 using astGrid

  • Axis2: Axis line drawn through tick marks on axis 2 using astGrid

  • Border: The Plot border drawn using astBorder or astGrid

  • Curves: Geodesic curves drawn using astCurve, astGenCurve or astPolyCurve

  • Grid: Grid lines drawn using astGridLine or astGrid

  • Grid1: Grid lines which cross axis 1, drawn using astGridLine or astGrid

  • Grid2: Grid lines which cross axis 2, drawn using astGridLine or astGrid

  • Markers: Graphical markers (symbols) drawn using astMark

  • NumLab: Numerical axis labels drawn using astGrid

  • NumLab1: Numerical labels for axis 1 drawn using astGrid

  • NumLab2: Numerical labels for axis 2 drawn using astGrid

  • Strings: Text strings drawn using astText

  • TextLab: Descriptive axis labels drawn using astGrid

  • TextLab1: Descriptive label for axis 1 drawn using astGrid

  • TextLab2: Descriptive label for axis 2 drawn using astGrid

  • Ticks: Tick marks (both major and minor) drawn using astGrid

  • Ticks1: Tick marks (both major and minor) for axis 1 drawn using astGrid

  • Ticks2: Tick marks (both major and minor) for axis 2 drawn using astGrid

  • Title: The Plot title drawn using astGrid


next up previous 264
Next: Plot3D - Provide facilities for 2D graphical output
Up: AST Class Descriptions
Previous: PermMap - Coordinate permutation Mapping

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

Copyright (C) 2009 Science \& Technology Facilities Council