plot (version 0.3.1.1)
index
plot.py

Single-procedure module.
 
See procedure docstring for description.

 
Functions
       
plot(x_in, y_in, annot=None, linestyle=None, position=None, psym=None, symht=7, title=None, xrange=None, yrange=None, xtitle=None, ytitle=None)
Interactively make x-y plots.
 
Plots an x-y line plot onto the active VCS canvas.  If there is a
pre-existing plot on the active canvas, that plot is overwritten.
Syntax of method call, and symbol and linestyle codes, are based 
on IDL conventions.  However, defaults for input parameters are set 
to my personal preferences, not IDL defaults, such that a call of 
plot(x,y) should give a plot I would (subjectively) find generally 
suitable for publication.
 
Default plot has no overall title and no axis titles, and square
plot symbols connected by a solid line (unless the system
variables have settings different than their default).
 
 
Input Arguments:
* x_in:  Vector of independent (x-axis) variable values.  Numeric,
  MA, or MV array.
 
* y_in:  Vector of dependent (y-axis) variable values.  Numeric, 
  MA, or MV array.
 
NB:  If an input argument is MV, only the MA portion of the
variable is used; this procedure does not read the additional
attributes of the MV class.  Also, if the input arguments have
any missing values (as expressed in an MA or MV mask), this
procedure will accomodate that only if VCS is used as the plot-
ting package.
 
 
Keyword Inputs:
* annot:  Extra text to annotate the graph with, placed in the
  very upper-left corner in small-sized text.  String scalar.
  Different lines of text are separated by the os.linesep string.
 
* linestyle:  Line style code for connecting lines.  Default set 
  to IaGraph.Sysvar.__class__.p_linestyle.  Integer.  Key to 
  values:
    0:  Solid line
    1:  Dotted
    2:  Dashed
    3:  Dash dot
    5:  Long dashes
  Note:  linestyle cannot equal 4; in IDL that corresponds to
  dash-dot-dot, which is not a default defined linetype in VCS.
 
* position:  4-element list of [bbllx, bblly, bburx, bbury] of
  the bounding box (x,y) coordinates in normalized values.  The
  data origin is the lower-left corner, and the upper-right cor-
  ner of the data box is the upper-right corner of position.
  If keyword not defined, IaGraph.Sysvar.__class__.p_position is 
  used.  If that system variable is not defined, this procedure 
  uses value [0.25, 0.2, 0.85, 0.7] (if keyword annot is defined) 
  and [0.25, 0.25, 0.85, 0.75] (if keyword annot is not passed 
  in).
 
* psym:  Symbol code.  Default set to IaGraph.Sysvar.__class__.
  p_psym.  Integer.  Negative values plot both symbol and line.  
  Key to values:
    0:  No symbol
    1:  Plus sign
    2:  Asterisk
    3:  Period, circle, or dot
    4:  Diamond
    5:  Triangle
    6:  Square
    7:  X
  If psym is less than 0, the symbol and connecting lines are 
  plotted.  If psym is greater than 0, the symbol without connec-
  ting lines are plotted.  If psym is 0, lines without symbols 
  are plotted.
 
* [xy]range:  The range of the [xy]-axis used to calculate "neat"
  tickmarks, from which the actual axis range is set.  Two-element 
  list, where the first element is the minimum in the axis range 
  and the second element is the maximum in the axis range.  If 
  keyword not defined, IaGraph.Sysvar.__class__.[xy]_range is used.  
  If that system variable is not defined, this procedure uses the 
  the minimum and maximum of each input vector.
 
* symht:  Plot symbol height.  Integer scalar.  Arbitrary units,
  with range of 1 to 300.  Default is 7 (which gives a square with
  an on screen size of approximately 2 mm).
 
* title:  The overall plot title.  String scalar.  Only a single 
  line of input is accepted.
 
* [xy]title:  The x-axis and y-axis title.  String scalar.  Only
  a single line of input is accepted.
 
 
Output:
* x-y plot of data on screen.
* If VCS is the graphics package used, the active_canvas system 
  variable in IaGraph.Sysvar is set (overwritten if a previous
  canvas exists) to the canvas that is drawn by this procedure.  
  This allows other procedures in IaGraph to operate on the canvas 
  outside of the IaGraph.plot procedure.
 
 
Notes:
* There are a variety of different packages available to do x-y 
  plots in Python.  This procedure supports 3:  VCS, gracePlot, 
  and Scientific/Tkinter.  It searches, in that decreasing order 
  of preference, for whether the package is installed.  If that 
  package is found, the plot is made using that package.  VCS is 
  the most preferred of the 3 because it is the most flexible and
  allows writing to file via IaGraph.active2ps, etc.  Many of the
  keywords above only work when VCS is used.
* Annotation via annot is set to 1/2 the height as the title
  font.  The font for the annot keyword text is set to be the 
  overall title font.  (For VCS only.)
* Font heights for the axes labels are set to be the same as the
  axes titles.  (For VCS only.)
 
 
Example to plot a plus sign for symbol, no connecting lines:
  import Numeric
  from plot import plot
  x = Numeric.arange(100.)/Numeric.pi
  y = Numeric.sin(x)
  plot(x, y, psym=1)

 
Data
        __version__ = '0.3.1.1'