Offenberg AstroContrib Library

This page is a listing of the entire contents of this library for IDL. This listing is the long version. Viewing the much more compact listing may be handier.

[Go Back to Main IDL Libraries Search Page]


Last modified: Thu Dec 21 21:17:25 2000.

List of Routines


Routine Descriptions

MAKEPUBPLOT

[Next Routine] [List of Routines]
  PROCEDURE:
	MakePubPlot
  PURPOSE:
	Draw plots that were designed using ApJPLOT to the screen (or a 
	PostScript file).
  CALLING SEQUENCE:
	MakePubPlot, X, Y, F
	MakePubPlot, X, Y, Plots, Ordinate, Annotation
	MakePubPlot, X, Y, F [,/POSTSCRIPT,/LANDSCAPE, FILE=filename, $
			WINDOW=w, XERROR=xerr, YERROR=yerr]
  INPUTS:
	X - Data to be plotted along the X-axis.  May be an N element vector
	    or an NxM element array.
	Y - Data to be plotted along the Y-axis.  May be an N element vector 
	    or an NxM element array. (If X is a 2-d array, Y must be the same
	    size as X).
	F - Result from an execution of PubPlot (SEE pubplot.pro)
	- or -
	Plots - Structure used internally by PubPlot containing global plot
		information
	Ordinate - Structure used internally by PubPlot containing individual
		   ordinate information
	Annotation - Structure used internally by PubPlot containing text
		     annotation information.
  KEYWORD INPUTS:
       XERROR - Uncertainty in X coordinate for error bars (if user-defined 
		 error bars are specified).  Must be a vector of the same size
		 as X.
       YERROR - Uncertainty in Y coordinate for error bars (if user-defined 
		 error bars are specified).  Must be an array of the same size
	 	 as Y (i.e. NxM elements).
	POSTSCRIPT - If present and non-zero, open a Postscript file and put
		     plot there.
	LANDSCAPE - If present and non-zero, PostScript file will be in 
		    Landscape rather than Portrait mode.  Ignored if the
		    keyword POSTSCRIPT is not specified.
	ENCAP 	 -  If present and non-zero, an Encapsulated PostScript file
		    will be created.  Ignored if POSTSCRIPT keyword is not
		    specified.
	FILENAME -  If present, the string included will be used as the name
		    for the PostScript output file (idl.ps if not present).
		    Ignored if the keyword POSTSCRIPT is not specified.
	WINDOW -    If present, uses this window rather than the current 
		    window.
		
  OUTPUTS:
	Plot is generated to the current window or a PostScript file.
  SIDE EFFECTS:
	The current window is erased and the plot is put there unless WINDOW
	keyword is specified.
	If no window is present at the start of the routine, one will be 
	created.
  RESTRICTIONS:
	Must be on a windowing system.  
	The inputs {X, Y, F} or {X, Y, Plots, Ordinate, Annotation} must be
	supplied.
  COMMON BLOCKS:
	None.
  HISTORY:
	Written by J.D. Offenberg, Hughes STX, Feb 3, 1993
	Support for Histogram plotting type added.  JDO, Mar 11, 1993
	Support for error bars, multiple X vectors added.  JDO, Mar 23, 1993
	Support for plotdate added.  JDO, 26 Mar, 1993
	Support for legends added.  Name changed from ApJMakePlot to 
		MakePubPlot  JDO, April 1993
	Encapsulated PostScript added.  JDO, March 1994
	Bug in centering of PostScript files fixed.  JDO, November 1994

(See /host/bluemoon/usr2/idllib/astron/contrib/offenberg/makepubplot.pro)


MAKESYM

[Previous Routine] [Next Routine] [List of Routines]
  PROCEDURE:
	MAKESYM
  PURPOSE:
	Call USERSYM to create one of the below plot symbols.
  CALLING SEQUENCE:
  	Makesym, SYMBOL
  INPUTS:
	SYMBOL - number indicating which symbol you want.  If not within the 
	range of available symbols, nothing is done.
	9  - Circle
	10  - Filled Circle
	11 - Filled Diamond
	12 - Filled Triangle
	13 - Filled Square
	14 - 5-point star
	15 - Filled 5-point star
	16 - Pentagon
	17 - Filled pentagon
	18 - Hexagon
	19 - Filled Hexagon
  OUTPUTS:
	None.
	USERSYM is called, which sets the default user plot symbol.
  Restrictions:
	Does not account for the histogram plotting style.
  History:
	Joel D. Offenberg, Hughes STX, 21 Jan 1993
	Added symbols 14-19.  JDO, March 1994

(See /host/bluemoon/usr2/idllib/astron/contrib/offenberg/makesym.pro)


PLOTDATE

[Previous Routine] [Next Routine] [List of Routines]
 	PROCEDURE: 
		PLOTDATE
 	PURPOSE:
		This procedure puts the user name, calling program and system 
		time and date in the corner of a plot.  
 	CALLING SEQUENCE:
		plotdate, Prog, [Charsize=, Charthick=,/device,/data, /normal]
 	OPTIONAL INPUTS:
		PROG -- Character string containing the name of the calling
			program (Default = 'INTERACTIVE')
	KEYWORD INPUTS:
		SIZE -- Specify the character size.  (Default = 0.35)
		X, Y -- Location to put the string.  (Default is lower right 
			corner, depedning on the current device size).  
		DEVICE -- If present and non-zero, X and Y are in DEVICE 
			  coordinates.  Ignored if X, Y are not both specified.
			  (Default = 1)
		DATA -- If present and non-zero, X and Y are in DATA 
			coordinates.  Ignored if X, Y are not both specified.
			(Default = 0)
		NORMAL -- If present and non-zero, X and Y are NORMALIZED
			  coordinates.  Ignored if X, Y are not both specified.
	NOTE: Only one of [DEVICE, DATA, NORMAL] should be specified.  For 
	      more information regarding these parameters, check documentation
	      of XYOUTS.
 	REVISION HISTORY
 		Modified from RCB::[BOHLIN.IDL]PLOTDATE.PRO 
 		90DEC22-CHANGE XYOUTS FOR V2 AND SIMPLIFY-RCB
		Converted for general use in MOUSSE.  Keywords added, user name
		obtained from OS rather than hard-coded.   
		Joel D. Offenberg, HSTX, 26-Mar-93

(See /host/bluemoon/usr2/idllib/astron/contrib/offenberg/plotdate.pro)


PREPUBPLOT

[Previous Routine] [Next Routine] [List of Routines]
	PREPUBPLOT
PURPOSE:
	To catenate a series of vectors (up to ten) into a single array,
	in a format suitable for using with the routine PubPlot.

	For instance, to combine 3 vectors, Y1, Y2 and Y3 into a single Y
	vector to be used as the "Y" argument for PubPlot, execute
	PREPUBPLOT, Y, Y1, Y2, Y3

CALLING SEQUENCE:
	PrePubPlot, array, v0, [v1, v2, v3, ...,v9]
INPUTS:
	v0-v9: Vector(s) (or 1-dimensional arrays) to be combined into
	       a 2-D array.  
OUTPUTS:
	OUTARR:	Output array (you must supply a named variable.  The user
		will be queried before OUTARR is overwritten, if necessary.)
		OUTARR will be NxM where N is the length of largest vector
		in v0...v9, and M is the number of valid vectors supplied.
PROCEDURE:
	Find the length of the largest vector.  Then create outarr, 
	replicating the last element of each vector until it is the same
	size as the the longest vector.  
RESTRICTIONS:
	Up to 10 vectors may be used.
SIDE EFFECTS:
	None
HISTORY
	Written by J. Offenberg, Hughes STX, 6 April 1994.

(See /host/bluemoon/usr2/idllib/astron/contrib/offenberg/prepubplot.pro)


PSPLOT

[Previous Routine] [Next Routine] [List of Routines]
 NAME:
	PSPLOT                        
 PURPOSE:
       Routine to close and print a postscript plot file.
       On VMS, will send to the postscript laser printer defined by the
       logical PSLASER;  if this logical is not defined, then the default
       is UIT$POSTSCRIPT  In Uinix, routine will check to see if a printer
	is defined in the environment variable PSPRINTER.  If PSPRINTER is
	not defined, then default is psuit.
 CALLING SEQUENCE:
	PSPLOT,[filename]    
 OPTIONAL INPUT:
	filename - scalar string giving the name of the postscript file to
                  be printed.    If not supplied, then "idl.ps" is assumed.
                  A file extension of "ps" is assumed if not supplied
 OPTIONAL KEYWORD INPUT:
	DELETE - if present and non-zero, the file will be deleted upon
		 printing.
 OUTPUTS:
	none
 SIDE EFFECTS:
	The current device output (presumably postscript) is closed.  Further 
       graphics output is written to a new version of IDL.PS.   User is 
       notified when output is complete
 HISTORY:
	Written by Michael R. Greason, STX, May 1990.
	Check for environment variable PSPRINTER  J. Offenberg July,1991
       Added filename parameter  B. Smith, W. Landsman     August, 1991
	Added DELETE keyword			  J. Offfenberg Feb 1993

(See /host/bluemoon/usr2/idllib/astron/contrib/offenberg/psplot.pro)


PUBPLOT[1]

[Previous Routine] [Next Routine] [List of Routines]
 NAME: 
	PUBPLOT
 CALLING SEQUENCE:
	PubPlot,X,Y
	PubPlot,X,Y,F, OUTPUT = FF
	PubPlot,X,Y,F, XERROR =xerr, YERROR =yerr, OUTPUT=FF
 ALTERNATIVE CALLING SEQUENCE:
	PubPlot,X0,Y0,X1,Y1,X2,Y2,...,X9,Y9
 PURPOSE:
	Create a graphical interface to the PLOT routine and allow the user
	to set/unset/reset various PLOTTING keywords.  Intended to aid in 
	making slick plots suitable for publications.
 INPUTS:
	X - Values to be plotted along the X-axis.  X should be either an
	    N-element vector or an NxM element array.
	Y - Values to be plotted along the Y-axis.  Y should either be an
	    N-element vector or an NxM element array (If X is a 2-D array,
           Y must be of the same size.)
    -or-
	X0...X9 - A vector of values to be plotted along the X-axis.  Each Xn 
		  will be treated as a single data set.  Up to 10 X vectors 
		  may be supplied.
	Y0...Y9 - A vector of values to be plotted along the Y-axis.  Each Yn
		  will be treated as a single data set.  Up to 10 Y vectors
		  may be supplied.
	NOTE: For each Xn supplied, a Yn with the same number of elements must 
	      also be supplied and vice-versa.  
 OPTIONAL KEYWORD INPUTS:
	INPUT  - Structure returned by a previous execution of PubPlot (see
	 	 the "OUTPUT", below).  If specified, PubPlot will use the 
		 data contained within INPUT to initialize the plot.
	XERROR - Uncertainty in X coordinate for error bars.  May be either
		 a scalar or a vector of the same size as X.
	YERROR - Uncertainty in Y coordinate for error bars.  May be a scalar,
		 or an array of the same size as Y (i.e. NxM elements).

	If you have a series of vectors you wish to catenate into a single
	XERROR or YERROR array, use "prepubplot.pro".
 KEYWORD OUTPUT:
	OUTPUT - Structure containing a record of the final state of the plot.
	     The same plot can be recovered by using the same data structure as
	     the INPUT keyword on a subsequent execution of PubPlot.  The plot
	     can be redrawn to the screen using FF and the routine MakePubPlot
	     (See makepubplot.pro).  FF can also be used to record the user's 
	     individual preferences and used with any X, Y data set.

 EXAMPLES:
	To save your plot:
		PUBPLOT, X, Y, OUTPUT=F         ;[Create your plot and exit]
		SAVE, F, X, Y, Filename="MyPlot.dat"

	Alternative calling Sequence:
		PUBPLOT, X1, Y1, X2, Y2, X3, Y3, OUTPUT=F
		SAVE, F, X, Y, Filename="MyPlot.dat"

	To recover a saved plot and resume PubPlot:
		restore,'MyPlot.dat"
		FF = PUBPLOT, X, Y, F

	To recover a saved plot and put it on the screen:
		restore,'MyPlot.dat"
		MakePubPlot, X, Y, F	;(See also makepubplot.pro)

 INCLUDED ROUTINES:
	The following routines are in this file:
	PUBPLOT
	PUBPLOT_EVENT
	CUSTOMIZE_EVENT
	CUSTOM_XYOUTS
	GET_TEXT_EVENT
	GET_XYOUTS_POS
	GET_XYOUTS_TXT
	PSPUB_EVENT
	SET_ARCH
	XYRM_EVENT
	ERRORBAR
	ERRORBAR_EVENT
	Except for PUBPLOT, all of these are meant to be privately used.  
	See also makepubplot.pro
 SIDE EFFECTS:
	Numerous widgets will be created and destroyed.  A plotting window will
	be opened if one is not already open.  This routine will take over the
	current graphics window if one is open.
 COMMON BLOCKS:
	The following common blocks are used by routines within this file:
	PUBPLOT, PUBPLOTARCH, CUSTOMIZE, PLOTOUT, PLOTDATA, PSPUB, WLEGDATA
	ERRBARDATA
	These are all meant to be privately used.  Changes to these blocks
	may not be documented.
 RESTRICTIONS:
	Will not work on 3-D data.  
	Requires that both X and Y input arguments be specified.
	IDL Widgets must be present.
 HISTORY
	Written 		Joel D. Offenberg, HSTX, Feb 3, 1993
	Added histogram plotting option, corrected minor position bug on
		Vax version	JDO, Mar 11, 1993
	Added error bar handling, ability to use multiple X vectors.
				JDO, Mar 23, 1993
	Added support for adding plot date.  JDO, Mar 26, 1993.
	Added support for legends.  Converted main routine from function to
	procedure.  Renamed PUBPLOT from ApJPLOT.  JDO, Apr 1993
	Added Encapsulated PostScript and extra plot symbols.  JDO, March 1994
	Added alternative (multiple vector) calling sequence.  JDO, April 1994
	Fixed bugs: INPUT keyword now works, as does the ENCAPSULATED PS option
							       JDO, April 1994
	Fixed a bug in centering PostScript files.  JDO, November 1994	
	Fixed a bug so that it works for Alpha and other architectures.  JDO,
			November 1996

(See /host/bluemoon/usr2/idllib/astron/contrib/offenberg/pubplot.pro)


PUBPLOT[2]

[Previous Routine] [List of Routines]
	XX = X axis values
	YY = Y axis (ordinate) values.  Y has N elements or is NxM matrix where
		N is the number of elements in X.
	X1...X9 = Optional additional X axis inputs.  If they are present, each
	 	  Xn will be one data set.
	Y1...Y9 = Optional additional Y axis inputs.  If they are present, each
		  Yn will be one data set.  
	FF = Structure returned by previous run of PubPlot, contains
	NOTE: For each X variable supplied, the corresponding Y variable must
		also be supplied.  Non-matching X,Y pairs will be ignored.
	See main prologue at the top of this file.		 

(See /host/bluemoon/usr2/idllib/astron/contrib/offenberg/pubplot.pro)