Instructions for GRADES for OpenVMS This file explains how to compile, link, and use the program GRADES.EXE and the associated plot routines on an OpenVMS machine. Some features of the prgram are: 1) A maximum of 1000 students, and up to twenty assignments or exams can be accomodated 2) For any assignment or exam, the average, median, low score, high score, and number of students with and without a score are calculated 3) For any assignment or exam, or for the course average, a histogram of the scores can be plotted 4) For any assignment or exam, or for the course average, the score, percentile, and letter grade for each student can be written to a file, as long as the breakpoints for that assignment have been included in the original file. The entries may be sorted alphabetically or by decreasing score. 5) Breakpoints for plus and minus letter grades are possible 6) A course average can be calculated for each student based on weights, input at run time, associated with each assignment or exam 7) In calculating the course average, the best i out of j scores on a selected group of assignments or exams can be made and substituted for the lowest score in a different group 8) In calculating the course average, the lowest m scores of a selected group of assignments or exams can be dropped 9) In calculating the course average, a any student's score on a particular assignment or exam may be considered as excused, in which case the average is computed from the remaining scores, and is scaled accordingly 10) In calculating the course average, the breakpoints may be determined at a later stage, or calculated on the basis of the weights used in averaging the scores and written into the file. In the latter case the beakpoints and averages may be optionally scaled to "traditional" breakpoint values. To use the compiled version on a VAX, download grades_vax_executables.zip from the link at http://www.astro.gsu.edu/~gudehus/grades.html, and then extract the execute images and other files. If you have access to the MIIPS package and are on an OpenVMS system you can alternately extract the execute images from MIIPS$DISK:[MIIPS.FOR]GRADES_VAX_EXECUTABLES.ZIP. First, uncompress the files with: UNZIP GRADES_VAX_EXECUTABLES.ZIP Then place the files into a desired location with a command such as: BACKUP GRADES_VAX_EXECUTABLES.BCK/SAVE/SELECT=[MIIPS.GRADES_EXE...]*.* [.MY_EXE...] Note that all of the above two lines should be typed before pressing the carriage return. After the executables are on your system, you should carry out some assignments and logical definitions which are described further below. If you wish or need to recompile, you will have to: 1) obtain copies of all the required files from the MIIPS package, say from http://www.astro.gsu.edu/~gudehus/miips.html or, much more simply 2) download the file grades_vms_source.zip from http://www.astro.gsu.edu/~gudehus/grades.html. Uncompress the file with the command: UNZIP GRADES_VMS_SOURCE.ZIP Place the files into a desired location with a command such as: BACKUP GRADES_VMS_SOURCE.BCK/SAVE/SELECT=[MIIPS.FOR.GRADES...]*.* [.MY_GRADES...] Note that all of the above two lines should be typed before pressing the carriage return. The required source files to be placed in your desired directory, say [.MY_GRADES], are: Name Location on MIIPS$DISK Description ALPHA.FOR [MIIPS.FOR] User routine for character input ASTRO_101.DAT [MIIPS.SAMPLES] Sample file in standard format with 16 students and 10 assignments and their breakpoints. ASTRO_102.DAT [MIIPS.SAMPLES] Sample file in standard format with 16 students and 10 assignments and their breakpoints. DCD.FOR [MIIPS.FOR] Required lower level routine DISPLAY-PLOTTING_AVAILABILITY.DAT [MIIPS.PLOT] List of available plot devices DO.FOR [MIIPS.FOR] Required lower level routine DYNAMIC.FOR [MIIPS.FOR] User routine to obtain dynamic memory ERROR.FOR [MIIPS.FOR] Required lower level routine GO_TO_END.FOR [MIIPS.FOR] Utility routine to move to end of file GRADES.FOR [MIIPS.FOR] The grades main program HIBERNATE.FOR [MIIPS.FOR] Required lower level routine INTERP1D.FOR [MIIPS.FOR] Routine to linearly interpolate in a one-dimensional array. KEYBOARD.FOR [MIIPS.FOR] Routine to obtain the key pressed MAKE_GRADES.COM [MIIPS.FOR] Command file to compile and link the executable MAPSCRAT.FOR [MIIPS.FOR] Required lower level routine MEDIAN.FOR [MIIPS.FOR] Routine to compute the median in an array MEDIAN1.FOR [MIIPS.FOR] Helps MEDIAN.FOR MESSAGE.FOR [MIIPS.FOR] User routine to print messages on terminal and in log file MNMXME.FOR [MIIPS.FOR] Utility routine to find the minimum, maximum, and mean error in an array NEL.FOR [MIIPS.FOR] Required lower level routine NELD.FOR [MIIPS.FOR] Required lower level routine NHINT.FOR [MIIPS.FOR] Required lower level routine NUMARGS.MAR [MIIPS.FOR] Required lower level routine OPENCF.FOR [MIIPS.FOR] User routine to open a character file ORDER.FOR [MIIPS.FOR] Routine to order the values in an array as increasing or decreasing ORDER1.FOR [MIIPS.FOR] Helps ORDER.FOR PLOT.OLB [MIIPS.LIB] Plot package library for OpenVMS VAX PLOTDEVICES.FOR [MIIPS.PLOT] Routine for user to select plot devices PLOTCOM.FOR [MIIPS.PLOT] Program to direct output of plot file to online devices or postscript file PRTMSG.FOR [MIIPS.FOR] Required lower level routine SAVE.FOR [MIIPS.FOR] Required lower level routine STRKEY.FOR [MIIPS.FOR] Required lower level routine STRLUDEF.FOR [MIIPS.FOR] Required lower level routine TRANSPARENT_MODE.FOR [MIIPS.PLOT] Program to switch from graphics screen to text screen TRANSPARENT_MODE_X.FOR [MIIPS.PLOT] Program to switch from Tektronix window to text window TRANSPARENT_MODE_XN.FOR MIIPS.PLOT] Program to switch from Tektronix window to text window on Xterm without erasing plot TV.OLB [MIIPS.LIB] Display package library for OpenVMS VAX USRINP.FOR [MIIPS.FOR] User routine for generalized character and numerical input XYPLOT.FOR [MIIPS.PLOT] Routine for generalized 2D plots XYPLOT_F.FOR [MIIPS.PLOT] Helper routine for XYPLOT.FOR XYPLOT_PROGRAM.FOR [MIIPS.PLOT] Standalone program to plot from an ASCII file XYPLOT2_PROGRAM.FOR [MIIPS.PLOT] Standalone program to plot from two ASCII files, one for the abscissa and one for the ordinate ZFIOVI.C [MIIPS.C] Required lower level routine In a directory [.MY_GRADES.INCLUDE] place Name Location on MIIPS$DISK Description PLOTERRS.DAT [MIIPS.INCLUDE] List of plotting errors PLOTPAR.FOR [MIIPS.INCLUDE] List of plotting parameters SADERRS.DAT [MIIPS.INCLUDE] List of SAD errors SADPAR.FOR [MIIPS.INCLUDE] List of SAD parameters The most straightforward way to proceed, whether you have obtained each of the files from the MIIPS package, or whether you have downloaded the backup save set, is to run the command file MAKE_GRADES.COM. Enter @MAKE_GRADES This will compile the files, put them into a library and link. Before running the programs, enter ASSIGN MY_DISK:[MY_DIR] LBY: ASSIGN MY_DISK:[MY_DIR] MIIPS$PLOT: ASSIGN MY_DISK:[MY_DIR] XY$PLOT: where LBY references the location of the file of the file PLOTERRS.DAT, MIIPS$PLOT references the location of DISPLAY-PLOTTING_AVAILABILITY.DAT, and XY$PLOT references the location of XYPLOT_SETUP.DAT. Then enter ASSIGN PLOT.PLT FOR079 ASSIGN VECT.RPL FOR053 Finally, establish some logicals with A:==RUN MY_DISK:[MY_DIR]TRANSPARENT_MODE.EXE AX:==RUN MY_DISK:[MY_DIR]TRANSPARENT_MODE_X.EXE AXN:==RUN MY_DISK:[MY_DIR]TRANSPARENT_MODE_XN.EXE PLOT:==$MY_DISK:[MY_DIR]PLOTCOM.EXE XYPLOT:==$MY_DISK:[MY_DIR]XYPLOT_PROGRAM.EXE XYPLOT2:==$MY_DISK:[MY_DIR]XYPLOT2_PROGRAM.EXE "A" will change from the Tektronix window to the text window in a graphics terminal. "AX" will change from the Tektronix window to the text window in xterm, and erase the screen. "AXN" will change from the Tektronix window to the text window in xterm, without erasing the screen. These commands can be placed in a login file if desired. Finally, edit DISPLAY-PLOTTING_AVAILABILITY.DAT to match the display and plotting devices availabile on your system. Running GRADES After launching the GRADES program, you will be presented with the following menu: Enter a command: A = Allows initial and continuing manual entry of student names and ID's B = Computes the minimum and maximum score, class average and median, writes percentiles to the log file, and plots the histogram (default) C = Creates a new file where letter grades and percentiles are assigned to a particular assignment or exam for each student. Breakpoints must exist in the original file. D = Calculates a final average and breakpoints (if requested), adds it to a new version of the file, computes the class average and median, and plots the histogram. H = Gives help Q = Quits COMMAND= The user input information should always be of the same case as what is shown in the menu, with the exception of logical answers for which TRUE, T, t, YES, y, J, and j are accepted in the affirmative and anything else is interpreted as false. Command "A" will create a new file of student data in a standard format or allow continuing entry in an old file. Upon entering "A", you are presented with Open a file to put the names and ID's in Add the results to an existing file? (default = N) OLD= Answer as desired. For each student entry the prompt will be Enter the student's name and ID: (enter \ to quit) NAME_&_ID= A typical entry might be McLaurin, C. 111-22-3333 Enter "\" to stop the prompt and close the file. Then enter "Q" to quit the program if desired. The file, if new, will have ellipsis points in the locations of the breakpoints, scores, and course average. The breakpoint data for assignments and exams should be in the form xx.y, i.e., floating point, and the data for the scores should be in the form xx or xxx, i.e., integer, and right justified. Only two ellipsis points are provided for the score locations. The blank line above the header for the student entries is available for manually entered comments and notes. Note that you should set your window to display 132 columns when editing or displaying the standard files. Command "B" will compute the number of students with a score, the miminum and maximum score, and the class average and median for any assignment or exam. Percentiles are written to the log file. After opening the file of student scores, your are prompted with Enter the assignment or exam-number: (default = 1) The program then will then reply with results such as There were 56 students with a score and 2 students with no score on assignment/exam number 4. The minimum score was 14 and the maximum score was 36. The average was 25.84 and the median was 26.0. If a 21 was entered, the column for the course average is selected, in which case the reply will be, for example There were 102 students with a score and 0 students with no score for the course average. The minimum score was 18 and the maximum score was 90. The average was 62.54 and the median was 62.6. This is followed with, for example, Enter the plot devices: S = SAOimage -S = SAOimage, no erasure of screen G = Graphics terminal (VT100/Retrographics and Visual 550) G4 = Graphics terminal emulator (Versaterm) X = Xterm (default) F = File The actual list of plot devices shown will depend on the entries appearing in the file DISPLAY_PLOT_DEVICE_AVAILABILITY.DAT. This file should be located in a directory assigned to MIIPS$PLOT. For the above list the contents of this file would be: ! Available on-line display and display/plot devices !Grinnell 270 !Trapix !Ramtek SAOimage ! ! Available on-line plot devices !......Grapics Terminals...... VT100/Retrographics, Visual 550 !GraphOn !Codonics !Micro-term Versaterm Xterm !.....Plotters...... !Imagen !Printronix !Tektronix 4662 !Houston !Lasergrafix 1200 !Apple LaserWriter !Apple LaserWriter #2 !Apple LaserWriter #3 !Apple LaserWriter #4 !Apple LaserWriter #5 !Apple LaserWriter #6 !Digital LPS40 !.....The File..... File If the file is not present, all supported plot devices will appear in the prompt. When the plot appears, press H or h for help; also see a description below. Command "C" will create a new file where letter grades and percentiles are assigned to a particular assignment or exam for each student. Each line also includes the student name, ID, and score. Breakpoints must exist in the original file. The breakpoints should be entered manually on the line corresponding to that assignment or exam (lines 2 to 22). After opening the original file, the program will prompt with: Enter the assignment or exam-number: (default = 1) Enter 21 to process the average score. Then you are prompted for an output file name. Open a file to put the names, ID's, scores, percentiles, and letter grades into. Enter the file name: FILE= This is followed by: Enter the output ordering method: A = Alphabetical (default) B = In order of decreasing score ORDERING= After making a choice, the ouput file is written to, and you are returned to the main menu. A sample output file, created from the sample input file ASTRO_101.DAT might look like: There were 15 students with a grade and 1 students with no grade on assignment/exam number 1. The minimum score was 15 and the maximum score was 33. The average was 25.40 and the median was 26.0. GRADE NUMBER OF STUDENTS BREAKPOINTS A 4 31.0 B 6 25.0 C 2 20.0 D 1 17.0 F 2 STUDENT NAME STUDENT ID SCORE PERCENTILE GRADE Aloha, Friday 395 25 33.3 B Beer, John 288 22 20.0 C Colorado, Aurora 123 27 53.3 B Diana, Donna 576 16 6.7 F Dubba, Bubba 399 30 66.7 B Finale, Catherine 367 15 0.0 F Frito, Carla 154 23 26.7 C Frizbee, Freddy 289 17 13.3 D Green, Pinky 454 33 93.3 A Hatrack, Cappy 898 31 73.3 A ... Command "D" will calculate a course average and breakpoints, if requested, for each student, add the results to a new version of the file, compute the class average and median, and plot the histogram. After opening the file, the program prompts with: Enter the method of averaging: A = Weighted average of numerical scores. Breakpoints must be determined later. B = Weighted average of numerical scores and the breakpoints for letter grades. Average is scaled to standard breakpoints (90, 80, etc.) which are then entered into file. C = Weighted average of numerical scores and the breakpoints for letter grades. The weighted breakpoints are written into the file. Each method can optionally substitute the best i out of j scores on a selected group of assignments or exams, for the lowest score in a different group, and can drop the lowest m scores of another selected group of assignments or exams. Method "A" ignores the breakpoint information for the assignments or exams, and simply uses a weighted average to compute the course average. Method "B" uses a weighted average to compute both the students' course average and the breakpoints for the average. The breakpoints and averages are scaled to standard breakpoints, i.e., A=90, B=80, etc. Method "C" uses a weighted average to compute both the students' course average and the breakpoints for the average. The breakpoints are written as calculated. For any of the above choices the program asks: Do you want to substitute the best i of j scores of optional set k, all assumed to have the same weight, for the lowest score of set l? (default = N) SUBSTITUTE_BEST_OF= If the answer is in the affirmative, the program asks: Enter the numbers i and j of the optional set: BEST_i_of_j= If for example the best 3 of 4 quiz scores are to be used, enter "3 4". The next request is: Enter the column numbers of optional source set k: SOURCE_SET_K= One should enter the appropriate column numbers of the optional quizes. Then the program asks: Enter the column numbers of destination set l: DESTINATION_SET_L= Enter the column number of those exams where the one with the lowest score can for example be replaced by the best 3 of 4 quizes. Then the program asks: Do you wish to drop the lowest m scores of set n: (default = N) DROP_LOWEST= If the answer is in the affirmative, the prgrams asks: Enter the number of lowest scores to drop: (default = 1) NUMBER_LOWEST= This is followed by: Enter the column numbers of set n: SET_N= For any method of averaging, the program now presents the following: Enter the weights for each assignment and/or exam. The order must match that of the columns in the file. If a column is blank or contains an optional assignment, enter a weight of zero. Only continue to the highest column used. Relative weights are acceptable. WEIGHTS= Enter weights for each column, up to the highest one used. Remember that normalized or unnormalized weights can be used. Next the program asks: Enter the maximum scores for each of the above assignments or exams. Enter a number for each column, up to the maximum column used: MAXIMUM_SCORES= The results are then written to a higher version of the original file. Two examples of using command "D" are now given. The first example uses the sample file ASTRO_101.DAT. Open the file and select method "C" for averaging. Next enter "N" for whether to substitute the best i of j scores of optional set k. Answer "Y" for whether to drop the lowest m scores of set n. Enter "1" for the number of lowest scores to drop. Enter "1 3 4 6" for the column numbers of the destination set n. Now enter "12 5 12 12 5 12 25 29" for the weights. Notice that although these add up to 112, they do add up to 100 after the lowest exam is dropped. However, since the weights do not have to be normailzed, this is of no special importance. Next enter "40 10 40 40 10 40 10 100" for the maximum scores. The program should report the number of students and the minimum, maximum, average, and median scores. Finally the program will prompt for a plotting device to draw the histogram. The next higher version of the file will now include the breakpoints for the weighted average and the weighted averages of each student. The next example uses the sample file ASTRO_102.DAT. Open the file and select method "B" for averaging. Answer "Y" for whether to substitute the best i of j scores of optional set k, for the lowest score of set l. Enter "3 4" for the numbers i and j. Enter "1 4 5 9" for the column numbers of optional source set k. Enter "2 6" for the column numbers of the destination set l. Answer "N" for whether to drop the lowest m scores of set n. Enter "0 15 5 0 0 15 25 5 0 35" for the weights. Note that the optional assignments receive weights of zero. Next enter "10 40 10 10 10 40 10 10 10 100" for the maximum scores. The program will report the number of students and the minimum, maximum, average, and median scores, scaled to the standard breakpoints of 90, 80, etc. The next higher version of the file will now include the breakpoints for the weighted average and the weighted average of each student, scaled to the standard breakpoints. In addition, an asterisk is shown before each student's average if a successful substitution of the best i of j scores of set k was made for the lowest score of set l. Working with the Plot Programs Plotting is built into the grades progam. A plot can be sent to one or more plot devices and plot file simultaneously. The plot devices that appear in the list presented to the user are determined by settings in the file DISPLAY-PLOTTING_AVAILABILITY.DAT. Simply uncomment or comment those devices you wish to be or not be shown. Depending on the state of the this file, one might be presented with: Enter the plot devices: S = SAOimage -S = SAOimage, no erasure of screen G = Graphics terminal (VT100/Retrographics and Visual 550) G4 = Graphics terminal emulator (Versaterm) X = Xterm (default) XG = Xgterm F = File Enter one or more letters corresponding to the plot devices you wish the plot to appear on, e.g. X F. If you are connected to an OpenVMS system via telnet or ssh from a Macintosh, then it is possible to use Versaterm. If you are connected to an OpenVMS system via telnet or ssh from a Unix system, then it is possible to use Xgterm. Versaterm and Xgterm do not run on OpenVMS. Note that SAOimage refers to "Enhanced SAOimage", available from http://www.astro.gsu.edu/~gudehus/enhanced_saoimage.html. After the plot appears, several interactive plot commands are available. Help can be obtained by typing (not entering) H or h. The following will then appear (note that ^ denotes that the control key is to be pressed as well): A = Turns on the crosshairs and by pressing the at chosen X limits, the mean Y value will be calculated for each plot. a = Allows the user to enter annotation at the location of the crosshairs with the color most recently selected. ^I toggles to the Greek alphabet and special symbols and back to English ^H gives a backspace ^J toggles to subscript, superscript, and back to normal ^A = Prompts user for the height of the annotation. B = Defines a box with the crosshairs placed at the lower left and upper right. Will replot with this scaling. b = Allows the user to be prompted for the background color on SAOimage. C = Turns on the crosshairs and by pressing the , prints the values at that location and puts the values in a common block; typing - deletes the last pair of values from the common block; and typing Q turns off the crosshairs. c = Allows the user to be prompted for the color. F = Allows the user to alter the scaling factor on the current plot device(s). f = Allows the user to change the fill style for each plot. H = Gives help. h = Gives help. I = Allows the user to be prompted for several of the plotting parameters before a replot is done. This command is typically used when preparing a plot for publication. The following operations are available: 1) Inverting the X axis and/or Y axis 2) Labeling the X and Y axes in the following ways: Linear automatic, Linear manual, Antilog automatic, Antilog manual (antilog refers to the fact that the labeling is the antilog of the plotted values which are logs) a) In the Linear manual mode one can specify for the X and Y axes, the lowest labeled physical value, the physical value/interval, and the number of intervals (coded as nn.llrr where nn is the integer part, .ll represents the left (or bottom) fractional part, and .rr represents the right (or top) fractional part of an interval). b) In the Antilog manual mode one can specify for the X and Y axes, the lowest displayed tick mark (coded as log.antilog where log is the integer part of the plotted value (which is a log), and antilog represents the first displayed tick mark of that decade (which is an antilog)). The antilog of the physical value at the first tick mark may or may not be printed byu the program. One can also specify the number of displayed decades (coded as n.antilog where n is the integer part of the number of decades, and antilog represents the rightmost displayed tick mark of an additional decade. For example, if one enters -1.5 for the lowest value and 3.2 for the number of decades, then the first tick mark will be at X=0.5 (log = -0.301 = -1 + 0.699) and the last tick mark will be at X=200 (log = 2.301). Note that fractional parts of .0 and .1 behave the same way. Note: If the original plot was linear, then the log of the data should be taken first (with the L command) for the antilog labeling to make sense. 3) Specifying symbol heights 4) Specifying labels for the X and Y axes 5) Specifying a title 6) Specifying one or more print devices L = Allows the user to take log(X) and log(Y). l = Allows the user to take ln(X) and ln(Y). M = Allows the user to modify the X and Y values by adding increments and adjusting by scaling factors. m = Allows the user to modify the X and Y values by adding increments and adjusting by scaling factors for a selected plot. O = Redoes the original plot with any new axes, colors, and symbols. o = Redoes the original plot without any new axes or symbols. P = Allows the user to take powers p = Allows the user to specify the color of each plot. Q = Returns. q = Returns. R = Turns on the crosshairs and by pressing the at chosen X limits, replotting with automatic scaling will be done. S = Allows the user to specify the style of vector. s = Allows the user to specify the symbol for a set of points. V = Draws a vector of the color and vector style most recently selected. v = Allows the user to be prompted for the starting and ending physical values of a vector. X = Allows plotting an additional X axis in different linear units. x = Allows plotting an additional X axis in different antilog units. Y = Allows plotting an additional Y axis in different linear units. y = Allows plotting an additional Y axis in different antilog units. On SAOimage, Versaterm, xterm, and xgterm, user prompts appear on the text terminal window, whereas on all other devices the prompts will appear on the Graphics (Tek) window. Note that a plot can be sent to more than one device at a time. Xgterm, a color xterm, behaves mostly like xterm. One difference between the two is that xterm allows one to use the left mouse button to interact with the plot whereas xgterm requires a press. SAOimage also requires a press for plot interaction. The version of SAOimage available from most sources will not work with plotting; the version that is required is "Enhanced SAOimage, v. 1.22", available at the MIIPS website. Xgterm needs to have its colors defined in the user's .Xdefaults file. The following entries will ensure that the correct colors are displayed: Xgterm*gterm*color0: black Xgterm*gterm*color1: ivory1 Xgterm*gterm*color2: red Xgterm*gterm*color3: green Xgterm*gterm*color4: blue Xgterm*gterm*color5: cyan Xgterm*gterm*color6: yellow Xgterm*gterm*color7: magenta Xgterm*gterm*color8: gold1 Xgterm*gterm*color9: DarkSlateGray3 Xgterm*gterm*height: 601 Xgterm*gterm*width: 801 If a plot file is being created it is possible to add annotation that will be written to the file. For example, if one selects DEVICES=X F the plot will appear on an xterm and be written to a file. Pressing "a" while the plot is displayed on an xterm will then bring up a cursor. Position the cursor on the plot and then click the left mouse button (or press the for SAOimage). You are then prompted to enter some annotation. You can enter either English text, Greek letters, special symbols, or some combination of them. Typing ^I at this time, toggles to the Greek alphabet and special symbols, and back to English. In the Greek mode, the numbers 0 to 9 produce the symbols 0 to 9. One could for example use special symbol 1 (a circle) to denote the position of the primary in a plot of a relative orbit. Note however, that the cursor center currently corresponds to the lower left corner of the initial character. The Plot Command After a plot file has been created, the plot can be directed to any of the available plot devices by using the PLOTCOM program. To plot a plot file, irst, be sure that you have set up the PLOT command in a login file as: PLOT:==$MY_DISK:[MY_DIR]PLOTCOM.EXE Now enter: PLOT/DEVICE=P/XOFF=X/YOFF=Y/SCALE=S/ROTATE=R/NUMBER=N PLOT_FILE where 1) Each keyword and, in the case of DEVICE, its value, can be shortened to an unambiguous abbreviation 2) If no device is specified, the default is xterm 3) If no plot_file is specified, the default is PLOT.PLT 4) The keywords have the following meaning: DEVICE is the plot device, with values, P, equal to TEKTRONIX = Graphics terminal (VT100/Retrographics and Visual 550) GRAPHON = Graphon graphics terminal CODONICS = Codonocs graphics terminal MICROTERM = Microterm graphics terminal VERSATERM = Versaterm graphics terminal emulator for Macintosh XTERM = Xterm graphics terminal emulator for OpenVMS and Unix SAOIMAGE = Enhanced SAOimage _SAOIMAGE = Enhanced SAOimage with not erasure of the previous image POSTSCRIPT = Postscript output file EPS = Encapsulated postscript output file (each device can be shortened to an unambiguous abbreviation, e.g. pos or POS for POSTSCRIPT)) XOFF is the desired horizontal offset, X, of the plot in inches YOFF is the desired vertical offset, Y, of the plot in inches SCALE is the desired magnification, S, of the plot in terms of a factor. ROTATE is the counterclockwise rotation, R, of the plot in degrees NUMBER is the desired number, N, of the complete plot within the plot file Because the plot file is not closed until the grades program quits, all plots are written to the same file, and the "number" keyword must be used to select the plot. 6) The keywords and their values can be upper- or lowercase 7) When both rotation and offsets are given, the operation can be thought of as either 1) rotation about the lower left corner of the plot followed by translation in the rotated coordinate system, or 2) translation followed by rotation about the old location of the corner. Thus a plot on xterm can be viewed rotated 90 counterclockwise with a command such as: plot yof=-6 rot=90 sca=0.75 myplot.plt 8) Postscript files created by the plot command are by default matched to a printed sheet viewed in landscape orientation. Thus when such a file is viewed with ghostview or another postscript viewer, they will appear to be rotated by 90 degrees counterclockwise. To create a postscript file without the prerotation, use a command such as: plot dev=pos xof=-8.0 rot=-90 myplot.plt 9) Encapsulated postscript files are by default not prerotated and will appear in the correct orientation in ghostview. In addition, encapsulated postscript files are by default created with a bounding box size just slightly larger than the default XY plot size (X axis = 6 inches, Y axis = 5 inches). If your plot size is larger or smaller than the default size just use an editor such as vi to change the dimensions in the *.eps file. The BoundingBox line is 5th from the top. The encapsulated postscript files will not ordinarily produce output on a printer because because they do not contain the 'showpage' command. If you wish to see a printed version of your eps file, just add 'showpage' after the last 'stroke' command on the third line from the end. 10) The keyword, number, selects the number of the plot within the plot file. If the number keyword is not given, by default the first plot is displayed on devices such as graphic terminals, xterm, xgterm, and SAOimage. If a postscript file is created and no number keyword is given, all plots are written to the file. For an eps file, only the first file is written. If the value given for the number keywords is -1, then all plots are displayed overlapped on all devices, postscript files, and eps files. Plotting from an ASCII File An ASCII file of data can be plotted with the xyplot_program.exe program. Simply enter xyplot_program.exe and the program will prompt for the number of header lines, the columns for the abscissas, and the columns for the ordinates. The number of columns given for the abscissa and ordinate must match. The maximum allowed number of characters in the ASCII file is 132. The plot styles, vector styles, colors, and labeling of the plots are given defaults by a setup file with the default name xyplot_setup.dat. An example of the format of this file is: LINE VECTOR STYLE 0 1 2 3 4 5 PEN WIDTH 20 LINE TYPE -1 0 SYMBOL 0 1 2 3 4 5 6 7 8 9 10 INVERT X NO INVERT Y NO COLOR 16776960 Yellow 16711935 Magenta 65280 Green 16711680 Red 255 Blue 16766720 Gold1 65535 Cyan 7982541 DarkSlateGray4 16777200 Ivory1 10824234 Brown 16716947 Deep pink 5597999 Dark olive greem 15631086 Violet 16766720 Gold 8388564 Aquamarine 16770229 Moccasin X LABEL X Axis Y LABEL Y Axis TITLE Anonymous 1) Each keyword is followed by the values for a plot within the complete plot. If there are more plots than values, then rollover will occur. If there are fewer plots than values, then the extra ones will not be used. 2) The keywords may be in any order 2) Comments are allowed to the right of a value. 3) The LINE TYPE (as explained in line.for) controls the plot lines and the type of plot, where a) The magnitude of the value controls the frequency of plotted symbols, e.g. zero gives no symbols, and 4 gives a symbol every 4th data point b) Positive values give a straight line connecting every data point c) Negative values give no connecting straight lines d) If the value is 997 error bars are drawn e) If the value is 998 a histogram is drawn with the bars stacked vertically if multiple plots are made f) If the valud is 999 a histogram is drawn with the bars placed next to each other is multiple plots are made 4) The SYMBOL controls the type of symbol where a) values from 0 to 13 in the first byte give the built-in symbols b) a character may be plotted if the ASCII code is placed in the second byte c) if a histogram is to be drawn, the value in the first byte give the filling style d) if error bars are to be drawn, the value in the first byte give the style of the bar, i.e., 0 give a short tick, 1 gives nothing, 2 gives an arrowhead. If 100 is added to the first byte, the X or Y locations contain the central location and the deviation to the low and high directions, respectively, for the adjacent array locations. e) the value in the third byte give the symbol height in hundredths of an inch. If the value is not present a default of 0.14 inch is used. The program xyplot2_program.exe allows one to plot with two ASCII files, one for the abscissa and a different one for the ordinate. Any questions should be directed to Donald Gudehus at gudehus@astro.gsu.edu.