MULPLT.DOC (15-NOV-82) MULPLT A MULTIPLE DATA SET, FILE BASED DATA PLOTTING PROGRAM T. V. Atkinson Department of Chemistry Michigan State University East Lansing, MI 48824 MULPLT.DOC (15-NOV-82) PAGE 2 TABLE OF CONTENTS 1. INTRODUCTION 2. MULPLT FOR THE NOVICE 3. OPERATING PRINCIPLES 4. DATA AND COMMAND STRUCTURES 5. DATA SPACES 6. PLOT FEATURES (AXISOLOGY) 7. DATA PLOTTING MODES 8. SYMBOLOGY 9. SPECIAL FEATURES 10. DEBUGGING AIDS 11. EXCEPTIONS 12. BUILDING MULPLT 13. INDEX 14. APPENDIX 1: AXIS 15. APPENDIX 2: SYMPLT 16. APPENDIX 3: WIZARD'S MENU 1. CONCISE MENU 2. RESERVED TAGS 3. SPECIAL CHARACTERS 4. MNEMONIC CONTENT OF TAGS 5. EXPANDED MENU (PARAMETER GLOSSARIES AND DEFAULT TABLES) 17. LINE CHARACTERISTICS CHAPTER 1 INTRODUCTION MULPLT is a powerful, flexible program for producing publication quality data plots and other graphics. The plots can be generated on any graphics device supported by the MSU Chemistry Department graphics routine VECTOR. Currently the list of supported devices includes the Tektronix 4000 family, the Grinnell 30-37, the Versatec 1200A, and the Printronix 300. This list can be easily expanded by modifying the low level drive VECTOR and rebuilding MULPLT. The plot is developed in an interactive session where the user enters simple two character commands and associated arguments. Convenient default values for the plot parameters allow plot generation with a minimum of input. Immediate viewing of the results of changes is possible. The primary function of MULPLT is to generate plots of two dimensional points which are grouped in up to eleven different data sets and reside in disk files. MULPLT is especially useful for plotting data acquired in computerized experimentation, data from computer analysis of other data, or data generated by theoretical programs. However, MULPLT can also benefit the person with data to plot that does not reside in a computer file. Any of a number of editors can be used to place such data in a file so that it can be plotted with MULPLT. Once the user is familiar with MULPLT, he should be able to produce a data plot with MULPLT as easily as he could manually with pen and graph paper. Without doubt, the MULPLT plot will be of higher quality for a given amount of time invested. There is the additional advantage, which is true for any MULPLT plot, that any changes or corrections can be easily made. Many modes of data plotting are provided by MULPLT. In addition, the MULPLT plot can include a wide variety of axes, tick marks, tick mark labels, titles, and other features necessary for an intelligible plot. Some very basic data manipulation is provided. Scaling, offsetting, taking the reciprocal of a coordinate, and taking the logarithm(any base) of a coordinate is easily accomplished. Special features such as arrows, dimensions, additional lettering, lines, and standard deviation bars are available for further enhancement of the basic data plot or for the production of other graphical constructions such as banners for poster sessions. MULPLT.DOC (15-NOV-82) PAGE 1-2 INTRODUCTION The operation of MULPLT is divided into several phases: session initialization, general plot parameter input, data set parameter input, , data set scanning, and plot generation. Only the first three of these require user attention. The others procede automatically once activated by the user. The majority of the usual session is spent in the second and third of these phases. During this time the user is interactively setting the various plot parameters and issuing action commands to view the plot, list the current plot parameters, etc. The collection of these parameters, which include axes length, symbol sizes, tick mark type, data set file specifications, data space extrema, to name a very few, completely define a plot. This collection is refered to as the plot description language(PDL). The results of changes in the PDL can be viewed at any time by regenerating all or parts of the plot on the graphics terminal. The PDL can be stored in a file and recalled at will. Hard copies can also be generated. CHAPTER 2 MULPLT FOR THE NOVICE 1. INTRODUCTION 2. PREREQUISITES TO RUNNING MULPLT 3. GETING ON THE AIR 4. DEFAULT PLOTS 5. ENHANCEMENT OF PLOTS 6. COMMAND ORDERING 7. LISTING AND SAVING PARAMETERS 8. THE END GAME 9. RESTORING PDL 10. USING THE WIZARD'S MENU 2.1 INTRODUCTION This chapter was designed to be a tutorial and take the reader through a MULPLT session typical of most plotting. This session utilizes many, but by no means all, of the features implemented in MULPLT. The emphasis of the session is to give the user a feeling of the philosophy of using the program and to teach a few basic skills without becoming mired in the complexity that is an integral part of any program with the power and flexiblity of MULPLT. (Despite this complexity, MULPLT can, most emphatically, be of great utility to the novice.) Thus, this chapter will discuss topics as they arise and not concentrate on detail. The remainder of this document is devoted to a more systematic and detailed documentation of MULPLT. This chapter was designed to be a heavily annotated MULPLT.DOC (15-NOV-82) PAGE 2-2 MULPLT FOR THE NOVICE dialog between MULPLT and the user. If the user were to reenact this dialog, the same plots would result. However, much of the value of this chapter can also be gained by careful reading without actually doing the dialog. In this chapter, the dialog between user and MULPLT is set off and indented from the body of the text. The dialog includes both the output from the program and the input from the user. The dialog as shown here will appear as during a real session with two exceptions. First, all output from MULPLT is overlined to separate it from the users responses. Second, the single non-printing characters such as "carriage return" and "control/A" (the character resulting from striking the "A" key while holding down the "CTRL" key) are represented here by the following constructions. CARRIAGE RETURN, RETURN, OR ENTER CONTROL/A During MULPLT sessions, the user must never type the MULPLT prompts (output) shown here for clarity. In addition, the user should never type the four characters, "", the eight characters, "", ... Instead type the appropriate single control character. 2.2 PREREQUISITE TO USING MULPLT In order to use MULPLT, the data to be plotted must reside in one or more files. Furthermore, these files must be created according certain rules. To illustrate just a few aspects of MULPLT data files, two files, each containing one data set will be considered. Each data set is a collection of x,y points. The goal being to create an appropriate plot with both data sets plotted on the same plot. The contents of the first file(FILE1.DAT) will be data entered with an editor such as TECO. Such files can be created by the user when the data is from a noncomputer source. The contents of the first example file is shown below. ; FILE1.DAT RD3.0,0.0345 RD5.0,0.0578 RD10.0,5.78E-2 RD15.,6.74E-2 RD20.0,0.095 RD25.,.106 Several important points are illustrated in this example. First, each data line must begin with a two character identification tag, in this case "RD". The first letter of the tag must be in column 1. Secondly, the numbers are all real numbers in the FORTRAN sense and must include a ".". MULPLT.DOC (15-NOV-82) PAGE 2-3 MULPLT FOR THE NOVICE Finally, each number is terminated by a "," or "". That is, each number can be of variable length as long as the number of characters including the comma does not excede 15. The contents of the second file(FILE2.DAT) to be used in this illustration is given below. ; FILE2.DAT RD 0.100000E+01 0.100000E-01 RD 0.500000E+01 0.200000E-01 RD 0.100000E+02 0.300000E-01 RD 0.150000E+02 0.413000E-01 RD 0.200000E+02 0.502000E-01 RD 0.250000E+02 0.585000E-01 RD 0.300000E+02 0.695000E-01 RD 0.350000E+02 0.802000E-01 RD 0.400000E+02 0.900000E-01 RD 0.450000E+02 0.100000E+00 This file is typical of many produced by data acquisition, data analysis and other programs. Each of the above lines are actually terminated with a which is not shown. This particular example was produced by the FORTRAN sequence. WRITE (LUN,8500) 8500 FORMAT ('; FILE2.DAT') DO 100 I=1,10 WRITE (LUN,8501) X(I),Y(I) 8501 FORMAT ('RD',2E15.6) 100 CONTINUE Of course, this file could have been created with an editor, but the free formating illustrated with FILE1.DAT is much more convenient for manual entry. The counting of spaces needed to conform to the rigid format of FILE2.DAT is both tedious and error prone. Further ways of presenting data to MULPLT will be discussed in later chapters of this document. The first two lines of each of these files illustrate the utility of having an identification tag at the beginning of the line. During processing, a line with a tag different from the data tag ("RD" in these examples) is ignored. This allows internal documentation of the data files as well as multiple data sets and other data structures which will be discussed later. 2.3 GETTING ON THE AIR Once the data file(s) is(are) prepared, the user is ready to run MULPLT and generate the plots. This discussion assumes that the user is logged on to the system and can create files on the default disk(SY:). (If you don't know what this means, consult the SYSTEM MANAGER for your system.) MULPLT.DOC (15-NOV-82) PAGE 2-4 MULPLT FOR THE NOVICE To activate MULPLT type one of the following on TI:, the terminal on which the user logged in and uses for dialog with the system. _ >RUN $MULPLT _ >MUL[PLT] where the second form will work if MULPLT has been installed or included in CCL, and "[PLT]" means that "PLT" is optional and the user may actually type either "MULPLT" or "MUL". To determine if the latter is operative, either consult your SYSTEM MANAGER or try it. If the systems types error messages, then use the first form. If you get the following message, the second form is permissable. When activated, MULPLT will respond by typing the following identifier on TI:. ______________________ MULPLT VERSION 22MAR81 The date indicates which version of MULPLT is being run. MULPLT uses two logical terminals, one(TI:) for dialog with the user and one(GT: in this document) to receive the graphics. Physically, these can be the same or two different terminals. NOTE In this chapter, the assumption has been made that GT: has been permanently been assigned to the appropriate physical terminal. Due to variations in system configurations, this may not be true. If Figure 2.1 is not produced as indicated, the following command may have to be executed. NTTTn: where "n" is the number of the terminal to receive graphics. For further information see section 3.1.2 or consult your SYSTEM MANAGER. 2.4 DEFAULT PLOTS Following the identifier described above, MULPLT types: __ P: MULPLT.DOC (15-NOV-82) PAGE 2-5 MULPLT FOR THE NOVICE which is the prompt to enter any of the many MULPLT commands and associated arguments which pertain to the plot as a whole as opposed to those which refer to a particular data set. At this point the first data set is defined as follows. The prompt is repeated here for verisimilitude. __ P:FNFILE1.DAT ____ F 1: Where "FN" is a two letter command indicating that the rest of the line contains the file specification for the file containing the next data set. The "FN" command as with all MULPLT command tags must start in the first column following the prompt. The new prompt "F 1:" indicates that MULPLT will now accept commands pertaining to the first data set. At this point the first look at the "plot" will be taken. This is done by typing "GO1" in response to either the P-phase or any of the F-phase prompts. The actual line in this example is shown below. As in all examples which follow, the prompt is shown with each command line for verisimilitude but is not typed by the user. ____ F 1:GO1 "GO" is the command to generate the plot as currently defined. The "1" indicates that the plot is to be generated on the graphics terminal as opposed to the hard copy device. At this point MULPLT scans the data set and determines the x and y extrema, which are reported on TI:. MULPLT then reports the physical size of the plot to be drawn on TI: The screen of GT: is then erased and the plot drawn. Figure 2.1 shows the resultant plot. Notice again that the command begins immediately after the prompt. However, spaces are allowed in the argument fields of most commands. Thus, "GO1", "GO 1", "GO 1", ... are all equivalent. MULPLT.DOC (15-NOV-82) PAGE 2-6 MULPLT FOR THE NOVICE Figure 2.1 At this point the second data set is added as follows. ____ F 1:FNFILE2.DAT ____ F 2: Notice that MULPLT is now prompting input specific to the second data set. The plot is redrawn to show the results of the above command. Figure 2.2 is the result. ____ F 2:GO1 MULPLT.DOC (15-NOV-82) PAGE 2-7 MULPLT FOR THE NOVICE Figure 2.2 The above two plots are examples of the default MULPLT plot. That is, the plot which results from all parameters being set to their default values. Such a plot requires the minimum input from the user and is often useful for a quick look at a data set. From this point on, the effects of altering a few of the MULPLT parameters will be investigated. 2.5 ENHANCEMENT OF PLOTS 2.5.1 GENERAL PLOT FEATURES The first modification examined will involve the range of the axes. For example, the user might decide that a more convenient plot would have the x-axis running from 0.0 to 50.0. To accomplish this, control must be returned to the P-phase where the general plot features may be altered. The first command line below accomplishes this change in phase. The change in x-axis range is then accomplished by the second command line. The third command line causes the new plot to be made so that the effects of the change may be seen. MULPLT.DOC (15-NOV-82) PAGE 2-8 MULPLT FOR THE NOVICE ____ F 2:GP __ P:MMX10.0,50.0 __ P:GO1 The four character command "MMX1" causes the change in the range of the x-axis. The two arguments that follow are the value of the beginning of the axis and the value of the end of the axis. Figure 2.3 An analogous change for the y-axis is done below. __ P:MMY10.0,.12 The next modification of the plot to be considered is the manner in which the tick marks are drawn. The user decides what arrangements of tick marks are most desirable and makes the change with a four character command such as "TMXL" . The following implements one possible choice. __ P:TMXL5.0,1.0,2 MULPLT.DOC (15-NOV-82) PAGE 2-9 MULPLT FOR THE NOVICE In this example, the x-axis will have large tick marks every 5.0 units and small tick marks every 1.0 units. The third argument specifies how many large tick marks are to be skipped before a label is generated. In this example, tick mark labeling will occur at every other large tick mark. The following will provide for large tick marks every 0.2 units on the Left y-axis. Notice that this choice will produce large tick marks only since the small tick marks also occur every 2.0 units and will be underneath the large tick marks. __ P:TMYL0.2,0.2,1 __ P:GO1 All the above changes are shown in Figure 2.4. Figure 2.4 The next enhancement might be a change in the format of the tick mark labels. Two different formats are illustrated with the following command lines with the four character commands "FMXL" and "FMYL". __ P:FMXL(I8) __ P:FMYL(F10.2) MULPLT.DOC (15-NOV-82) PAGE 2-10 MULPLT FOR THE NOVICE __ P:GO1 Figure 2.5 shows the plot made after these changes. The argument for the tick mark label commands is a string of characters which is a FORTRAN FORMAT for a single number. The parentheses must be included. In the drawing of any individual tick mark label, any leading blanks are disregarded before the number is centered with respect to the tick mark. As a result, "(I8)" and "(I2)" would produce identical labels in this example. Likewise "(F10.2)" and "(F4.2)" would result in an identical y-axis in this case. If you are not familiar with FORTRAN, further information on FORMAT constructions are found in Chapter 7 and in the AXIS.DOC appendix. Figure 2.5 The final enhancement of the general plot features considered will be the inclusion of title information. The following command lines with four character commands implement three of the six possible titles allowed in MULPLT. __ P:TIXLTitle for the Lower X-axis __ P:TIYLTitle for the Left Y-axis __ P:TIT1MAIN TITLE MULPLT.DOC (15-NOV-82) PAGE 2-11 MULPLT FOR THE NOVICE __ P:GO1 The argument for each of the title commands is a string of characters which are to be centered on the appropriate axis. Figure 2.6 shows the plot with titles. Figure 2.6 MULPLT allows the modification of such symbol(character) characteristics as height and width for all strings of symbols drawn in each of six categories. Three of these categories are the symbols used in drawing the tick mark labels, axis titles, and the main title. The following line demonstrates how the size of all axis titles can be changed from the default values. __ P:CPAT.12,.12,.2,.05 __ P:GO1 where the first two arguments are the height and the width of the symbols, the third is the vertical distance between lines of symbols, and the fourth is the horizontal space between symbols. These parameters are expressed in units of inches. Figure 2.7 shows the plot with the larger axis titles. MULPLT.DOC (15-NOV-82) PAGE 2-12 MULPLT FOR THE NOVICE Figure 2.7 2.5.2 DATA SET FEATURES Variations on the handling and plotting of the individual data sets are also available in MULPLT. As in the P-phase, commands are entered with the appropriate arguments. Usually these commands take the arguments and use them to update the appropriate parameters. The results are seen the next time the plot is generated. To change the features for a particular data set, MULPLT must be in the proper phase to receive input for that data set. The state of MULPLT in which input for data set #n is being prompted will be called F-phase n. Entry into F-phase n is accomplished with the "GF" command as seen below. __ P:GF1 ____ F 1: There is another way in which to enter an F-phase, namely with the "FN" command. As seen early in this chapter, when entering a new data set, MULPLT is left in the F-phase for the new data set upon completion of the "FN" command. MULPLT.DOC (15-NOV-82) PAGE 2-13 MULPLT FOR THE NOVICE The next changes considered will be in the way the data points are plotted. Up until this time each data point has been plotted as a "point" corresponding to simply touching the paper with the writing instrument at the coordinates of the data point. The command sequence below activate two different ways of plotting the data. The results are shown in Figure 2.8. ____ F 1:FT3,32000 ____ F 1:PS+ ____ F 1:GF2 ____ F 2:FT2,32000 ____ F 2:GO1 The points in data set 1 are now plotted as symbols. In this case, the symbol plotted for each point is the "+". The symbol or collection of symbols that are plotted for each data point is called the primary symbol. The "+" in this case is the Primary Symbol. There are at least two reasons to choose symbol plots over the point plots which is the default plotting mode. The first is that a wide range of symbols are available. This can be important as the number of data sets on one plot increases. Secondly, the size, and hence ease of seeing, of the points can be varied. No such capabilities are available in the case of point plots. The main reason for choosing point plots is the speed of plotting. Generally, point plots are good for data sets with large numbers of points, such as a spectra, whereas symbol plots are good for data sets with small number of points. As can be seen in the plot of data set #2 in Figure 2.8, plot mode 2 connects the data points with straight lines. NOTE The actual plots included in this chapter thus far are not actually point plots. The data points are symbol plotted as "." in order to improve visability in the reproduction of this material. The user should consider them to be point plots when considering the commands and text in this chapter. MULPLT.DOC (15-NOV-82) PAGE 2-14 MULPLT FOR THE NOVICE Figure 2.8 The cover of this document demonstrates another way of delineating the different data sets in a multiple data set plot. In such cases, a second type of symbol(s) is drawn for every i'th point. Such symbols or collection of symbols are called secondary plot symbols in MULPLT. The following sequence would activate secondary symbols for data set 2 of this example. ____ F 2:SSDS2 ____ F 2:FT2,3 ____ F 2:GO1 Notice that F-phase 2 is assumed. The command "SS" sets the secondary plot symbol to the string "DS2". The actual activation of this feature is done with the second argument of the "FT" command which causes a secondary symbol to be plotted for every third point. In all the earlier examples, this parameter was set to 32000. Thus, no secondary symbols were drawn since there were never that many points in the data set. To deactivate secondary symbols, set this parameter to a number larger than the number of points in the data set to be plotted. Figure 2.9 shows the final product. MULPLT.DOC (15-NOV-82) PAGE 2-15 MULPLT FOR THE NOVICE Figure 2.9 2.6 COMMAND ORDERING All the above commands were necessary to produce the plot shown in Figure 2.9. Although the sequence of commands was a logical one and typical of a usual MULPLT session, the exact order was to a large degree arbitrary. The only constraint on the sequence is that you must be in the proper phase for a given command. Any of the P-phase commands ("MMX1", "MMY2", "TMXL", ...) can be entered any time MULPLT is in the P-phase, i.e. gives the "P:" prompt. Likewise, any F-phase command ("FT", "PS", "SS", ...) can be issued any time MULPLT is in one of the F-phases, i.e. gives the "F n:" prompt. Of course, the F-phase n must be that of the desired data set. This random access to the plot parameters provides a convenient mechanism for editing(changing) the plot description. Merely, enter the appropriate command with the new values of the parameters. MULPLT.DOC (15-NOV-82) PAGE 2-16 MULPLT FOR THE NOVICE 2.7 LISTING AND DUMPING PARAMETERS (SAVING PDL) The user may examine the current values of the MULPLT parameters at any time with the list command which has the following forms. LI 2.1 LI-1 2.2 LIn 2.3 LIn,m 2.4 where n and m are integers from 1 to 10 and m is greater than or equal to n. Form 2.1 will cause all P-phase and F-phase parameters to be listed on TI:. Form 2.2 results in a list all the P-phase parameters. Form 2.3 will list all the F-phase parameters for data set n. Finally, form 2.4 will list the parameters for data sets n through m. Table 2.1 shows the results of issuing the command "LI" at the time of generation of Figure 2.9. The complete understanding of all entries in this list is beyond the level of the discussion at this point, but the user should be able to identify all the commands and the parameters exercised so far in this introductory discussion. The two character command "DP" is closely related to "LI". This command generates the same plot description list (PDL) but places the list in a file instead of listing it on TI:. The form of the command is as follows. DPppp ... where "ppp ... " is the file specification for the file which will receive the PDL. Such PDL files can be loaded into MULPLT as described below in Section 2.9 on restoring PDL. This provides a convenient mechanism of storing plot descriptions. for later correction or production of additional copies of the plot. In addition, existing PDL files can be used as a starting point in the development of a new plot. If no file type (extention) is included in "ppp ... ", then MULPLT appends ".PDL". Thus, both of the following are synonymous. DPMYPLOT.PDL DPMYPLOT MULPLT.DOC (15-NOV-82) PAGE 2-17 MULPLT FOR THE NOVICE NOTE If the reader has been performing the dialog and has progressed to the point that Figure 2.9 has been produced, this would be a judicious place to save the work done thus far by performing the following in response to a "P:" or "F n:" prompt. DPFIG29.PDL MULPLT.DOC (15-NOV-82) PAGE 2-18 MULPLT FOR THE NOVICE TABLE 2.1 A PDL EXAMPLE ; F29.PDL ; MULPLT 01APR81 ; 26-APR-81 11:18:18 TIXLTitle for the Lower X-axis TIYLTitle for the Left Y-axis TIT1MAIN TITLE MMX1 0.00000 50.000 MMY1 0.00000 0.12000 MMX2 0.10000E+39 -0.10000E+39 MMY2 0.10000E+39 -0.10000E+39 TLXL 0.00000 0.00000 TXXL 0.10000 0.10000 0.50000E-01 0.50000E-01 FMXL(I8) TMXL 5.0000 1.0000 2 0.00000 MOXL 0 0 1 TPXL 177777 177777 177777 177777 TLYL 0.00000 0.00000 TXYL 0.10000 0.10000 0.50000E-01 0.50000E-01 FMYL(F10.2) TMYL 0.20000E-01 0.20000E-01 1 0.00000 MOYL 0 3 1 TPYL 177777 177777 177777 177777 CPT1 0.20000 0.20000 0.30000 0.00000 CNT1 3 0.00000 CPT2 0.80000E-01 0.80000E-01 0.12000 0.00000 CNT2 3 0.00000 CPAT 0.12000 0.12000 0.20000 0.50000E-01 CNAT 3 0.00000 CPTL 0.80000E-01 0.80000E-01 0.12000 0.00000 CNTL 3 0.00000 CPPS 0.80000E-01 0.80000E-01 0.12000 0.00000 CNPS 3 0.00000 CPSS 0.80000E-01 0.80000E-01 0.12000 0.00000 CNSS 3 0.00000 XA 0.50000 4.0000 0.50000 YA 0.50000 4.0000 0.50000 RP 1.0000 0.00000 NA 2 1 2 SP 0.10000 0.10000 0.10000 0.10000 AS 1 1 0 0 LB 10.000 10.000 10.000 10.000 RC 1.0000 1.0000 1.0000 1.0000 SF 1.0000 1.0000 1.0000 1.0000 OF 0.00000 0.00000 0.00000 0.00000 ; ********** FILE 1 ********** FNFILE1.DAT PS+ SS. FM(2G15.5) SF 1.0000 1.0000 1.0000 1.0000 MULPLT.DOC (15-NOV-82) PAGE 2-19 MULPLT FOR THE NOVICE OF 0.00000 0.00000 0.00000 0.00000 TGRD IM 0.00000 0.00000 XE -0.10000E+39 0.10000E+39 YE -0.10000E+39 0.10000E+39 ND 1 1 FT 3 32000 0 FF 1 1 FS 1 1 BG 0.10000 0.10000E+39 BL 1 177777 ; ********** FILE 2 ********** FNFILE2.DAT PS. SSDS2 FM(2G15.5) SF 1.0000 1.0000 1.0000 1.0000 OF 0.00000 0.00000 0.00000 0.00000 TGRD IM 0.00000 0.00000 XE -0.10000E+39 0.10000E+39 YE -0.10000E+39 0.10000E+39 ND 1 1 FT 2 3 0 FF 1 1 FS 1 1 BG 0.10000 0.10000E+39 BL 1 177777 2.8 THE END GAME: HARD COPIES AND EXITING When the plot is satisfactory to the user, the hard copy generation sequence can be started by issuing one of the following command from either phase. GO2 (When using the Versatec) GO3 (When using the Printronix) At this point MULPLT generates a binary file called VDATA.BIN containing a list of the vectors used to draw the plot. Upon completion of this phase, MULPLT returns to the phase from which the "GO" command was issued. If the user wishes to exit to the operating system at this point, give the "HA", halt, "EX", exit commands or a . These commands are synonomous and can be issued in either the P-phase or any of the F-phases. Upon exit, RSX11M responds with the MCR prompt ">". MULPLT.DOC (15-NOV-82) PAGE 2-20 MULPLT FOR THE NOVICE __ ____ P:HA or F n:HA __ ____ P:EX or F n:EX If a hard copy of the plot is to be produced, the following procedure is followed. _ >RUN $VCOPY _______________ PROCESS OPTION 1, 2, OR 3: VCOPY is a program which converts the vector representation of the plot into a "raster" or matrix representation suitable for the "line printer" type devices. Since there is usually insufficient memory available for the complete raster to be stored at one time, the program breaks the picture up into bands and constructs the corresponding subsets of the raster individually. This prompt is answered with a 1 if immediate output is desired, i.e. each band is output as calculated. The answer 2 will result in the complete raster being produced and stored in a file VPLOT.BIN before outputing to the Versatec. This is the preferred option when the Versatec is being used. If the Printronix is to be used to plot, then substitute PCOPY for VCOPY above. Option 1 is the preferred choice for the Printronix. 2.9 RESTORING PDL At any time during a MULPLT session, the USER may begin work on a different plot. This is accomplished with the following command. NPppp ... where "ppp ..." is the specification of a file containing the PDL of the plot to be considered. If no file type (extention) is included in "ppp ... ", then MULPLT appends ".PDL". Thus, both of the following are synonomous. NPMYPLOT.PDL NPMYPLOT If no file specification is entered, i.e. "NP" is entered, the all PDL parameters are set to their default values and the number of data sets is set to zero. In other words, the user has returned to the situation at the beginning of this session and may begin defining a completely new PDL. If there is a file specification included, MULPLT loads that MULPLT.DOC (15-NOV-82) PAGE 2-21 MULPLT FOR THE NOVICE PDL before giving the "P:" prompt. As the file is loaded, MULPLT interprets each line of the PDL in the same fashion as during the interactive session with the user. At the end of the loading phase, all parameters will be set to their values at the time the "DP" command generated that PDL file. At which point, the user is at the very same point as when the "DP" was issued that created the PDL file. Other variations of this procedure are discussed in the chapter on Operating Principles. DO NOT FORGET that once the "NP" command is issued, the user's current PDL is lost forever. The prudent user will issue a "DP" command before loading a new PDL, unless the current PDL is to be discarded. 2.10 USING THE WIZARD'S MENU At this point the readers attention should be directed to the WIZARD'S MENU found in Appendix 3. The WIZARD'S MENU is a complete dictionary of the MULPLT command lines. Once familiar with MULPLT, the MENU provides a quick reference to the details of MULPLT. The menu actually consists of five parts: a concise menu, a table of reserved tags, a table of special characters, a table of the mnemonic content of the command tags, and the PARAMETER GLOSSARIES AND DEFAULT TABLES(expanded menu). The concise MENU begins with a list of the two tag parameter input command lines for the P-phase. Each of the primary commands (the first tag of the line) has a particular set of allowed secondary tags. The first column gives the primary tag. The second column indicates which set of secondary command tags are permitted with that primary command. Thus, "MMX1", "MMX2" are legal commands, while "MMXL" and "MMYL" are not. Next comes a list of arguments for that command line. The name of the arguments obey the usual FORTRAN rules for variable type. Thus, DSMIN indicates that the first argument of the "MMX1", "MMX2", ... command lines is a FORTRAN real number. NLABEL indicates that the third argument of the "TMXL", "TMYL", ... command lines is a FORTRAN integer(decimal). There are two exceptions to this schema. First, some integer arguments, such as IDISAB ("MO" command), requires an octal integer rather than a decimal integer. The second exception is in those command lines with one argument which is a string of characters. TITLE and TLFORM are examples of this. A more complete description of an argument is found in the expanded menu or PARAMETER GLOSSARY AND DEFAULT TABLE. This menu is an expanded version of the concise menu. The entry for a command is expanded to included a discription of each parameter associated with that command. The concise menu entry for the command is followed by a parameter list containing each parameter, the dimension if the variable is an array, the FORTRAN type, the FORMAT used to input that variable, the default value, and additional comments. CHAPTER 3 OPERATING PRINCIPLES 1. SESSION INITILIZATION PHASE 1. GETTING ON THE AIR 2. GRAPHICS TERMINAL 3. PDL FLOW CONTROL 4. PDL FILES AS INDIRECT COMMAND FILES 2. P-PHASE 3. F-PHASE 4. LIST/DUMP PHASE 5. SCAN PHASE 6. PLOT PHASE 7. SPAWN PHASE 8. SPECIAL FEATURES PHASE 9. PDL FILES AS INDIRECT COMMAND FILES As mentioned in the introduction, MULPLT has various phases of operation. Understanding the nature of these phases and the methods of moving around among them is important to the proficient use of MULPLT. The movement from one phase to another is automatic in some cases and in others requires action by the user. The following discussion covers the different phases and the methods of effecting the desired phase transitions. MULPLT.DOC (15-NOV-82) PAGE 3-2 OPERATING PRINCIPLES 3.1 SESSION INITILIZATION (SI-PHASE) This phase consists of all the actions taken when MULPLT first begins execution such as the initialization of the internal PDL and other control flags. Also included in this phase are the operations involving the definition of the terminal to receive graphics and controlling the flow of PDL input. 3.1.1 GETTING ON THE AIR MULPLT is activated with one of the following four commands. _ >RUN $MULPLT 3.1 _ >RUN $MULPLT /PRM=ppp ... (RSX 3.2) 3.2a _ >RUN $MULPLT /CMD="MUL ppp ... " (RSX 4.0) 3.2b _ >MUL[PLT] 3.3 _ >MUL[PLT] ppp ... 3.4 where "ppp ... " is the specification for a file which contains PDL, and "[PLT]" indicates that the string within the square brackets are optional, i.e., either "MULPLT" or "MUL" can be used. Forms 3.3 and 3.4 will work only if MULPLT is installed or is included in CCL. The user can determine whether Forms 3.3 or 3.4 are allowed either by trying them or consulting with the SYSTEM MANAGER for that system. When activated, MULPLT will respond by typing the following identifier. ______________________ MULPLT VERSION 22MAR81 3.5 At this point all internal P-phase parameters are set to their default values and the number of data sets is set to zero. Next GT: is assigned to receive graphics. MULPLT then examines the line which was used to envoke the task. If the line contained a null string for "ppp ... " as in forms 3.1 and 3.3, TI: is assigned as the terminal for the P- and F-phase n dialog and MULPLT procedes to the P-phase and the user can begin his dialog with MULPLT. If the string "ppp ... " contains a file specification, MULPLT opens the MULPLT.DOC (15-NOV-82) PAGE 3-3 OPERATING PRINCIPLES file specified by the string, directs all P and F-phase n input to be from that file, and disables the prompting. Execution is then passed to the P phase for the input of the PDL. When the file has been exhausted, control will return to the SI phase phase and PDL input will be redirected to TI:, the prompting reactivated and the user will then be able to begin his dialog with MULPLT. If no file type (extention) is included in "ppp ... ", then MULPLT appends ".PDL". Thus, both of the following are synonymous. _ >MUL MYPLOT.PDL 3.6 _ >MUL MYPLOT 3.7 3.1.2 GRAPHICS TERMINAL MULPLT uses two logical terminals, one(TI:) for dialog with the user and one(GT:) to receive the graphics. Physically, these can be the same or two different terminals. However, since GT: is not one of the standard RSX-11M device names, the logical name must be defined. One of the following three !!!must!!! be done before the first "GO1" command is issued. 1. If one terminal is typically going to receive the graphics, permanently assign GT: to a suitable physical terminal as follows. (See your system manager.) ASN TTn:=GT:/GBL 3.18 2. Locally assign the terminal before entering MULPLT. ASN TTn:=GT: 3.9 3. Issue a "NT" command in MULPLT. NTttt ... 3.10 where "ttt ..." is the specification of the terminal to receive graphic output and will be of the form "TTn:" with "n" being the terminal number. A null specification causes GT: to be assigned to the physical terminal specified in 3.18 or 3.19. MULPLT.DOC (15-NOV-82) PAGE 3-4 OPERATING PRINCIPLES 3.1.3 PDL FLOW CONTROL There are essentially two sources for input of the P and F-phase n commands and parameters that define a plot. The first is TI: which provides an interactive environment such as utilized in Chapter 2. The second possible source of PDL information is a file. The following two commands allow the designation of the source of the PDL. The first is for starting a new plot. The second appends the contents of a PDL file onto an existing internal PDL. NPppp ... 3.11 APppp ... 3.12 where "ppp ..." is a PDL file specification. If no file type (extention) is included in "ppp ... ", then MULPLT appends ".PDL". Thus, both of the following are synonymous. NPMYPLOT.PDL 3.13 NPMYPLOT 3.14 An analogous statement can be made for the "AP" command. A null file specification ("NP") results in control being returned to TI:. The "NP" command first causes all P-phase parameters to be set to their default values and the number of data sets set to zero. The "AP" command leaves the current internal PDL unchanged. In both cases, the input of the PDL is directed to the specified file, the prompting mechanism is disabled, and control is transferred to the P-phase for input of the PDL. Any values for plot parameters read from the file will be used to set the corresponding internal parameter. If the PDL file was originally produced by the DUMP phase of MULPLT, values for all parameters, except for any unspecified titles, will be included in the file and hence initialized. However, the user may create PDL files with an editor or any other program and may include only those command lines with parameters differing from default values. In either case, the structure of the file is that discussed in the chapter on data structures. During the input of a PDL file, any line beginning with "; " is listed on TI:. This will allow the user to check creation dates and the number of data sets as the file is loaded. The SI phase is entered upon running MULPLT. This phase can also be entered from either the P-phase or from any of the F-phases by issuing the new plot command "NP, "AP", or "NT". Upon completion of the initialization, MULPLT automatically exits to the P-phase. MULPLT.DOC (15-NOV-82) PAGE 3-5 OPERATING PRINCIPLES 3.2 GENERAL PLOT PARAMETER INPUT (P-PHASE) During the P-phase operation MULPLT allows the interactive setting of the various parameters (axis length, tick mark intervals, titles, ... ) which affect the plot as a whole. MULPLT prompts input when in this phase by issuing the following to TI:. __ P: 3.15 The user reponds to this prompt with any valid P-phase command line (See the chapter on data structures). These command lines include two and four character parameter input commands and two character action commands both of which have associated arguments. A complete list of these is given in the "Wizard's Menu" found in the appendicies. Discussion of the particular commands is left to other sections of this document. Illegal command lines will trigger various MULPLT and system error messages. After such messages( with a very few exceptions), a new P-phase prompt is issued and operation is back to normal. Each parameter input command line causes the value of all parameters associated with that command line to be set to the values included on that command line. Thus, to correct or change a parameter, the user reenters the command line which includes that parameter. NOTE The user must always enter values for all parameters on a command line, not just the one parameter to be altered. Otherwise, the remaining parameters will be set to zero according to the usual rules of FORTRAN input. A given command line can be entered an unlimited number of times and at anytime during the P-phase. The last line entered will determine the values used in a plot. MULPLT remains in the P-phase until the user causes a phase transition. This is accomplished by the "GFn", "LI", "DP", "SC", "GO", "HA", "EX", "AP", "NT" or "NP" commands. These commands lead to various other phases. The P-phase is entered automatically from the SI phase. The P-phase can also be entered from any of the F-phases using the "GP" command. The P-phase is also reentered upon the completion of the LI/DP, SCAN, and PLOT phases if those phases were originally entered from the P-phase. (i.e. you return to the phase from which you came.) MULPLT.DOC (15-NOV-82) PAGE 3-6 OPERATING PRINCIPLES 3.3 DATA SET PARAMETER INPUT (F-PHASES) There are actually ten different F-phases, one for each of the possible data sets. During each of these phases, MULPLT inputs values for plot parameters (data set file specification, plot symbol, data tag, data set format, ... ) which are specific to a particular data set. The prompt is below. ____ F n: 3.16 where "n" is the index for the particular data set. In response to this prompt, any of the F-phase two character parameter input or action commands can be entered with their associated arguments. Operation of this phase is analogous to that of the P-phase with the exception of the list of commands which are valid. Operation for all F-phases is the same with the exception that the parameters refer to different data sets. A data set can be eliminated with a "RFn". Alternatively, data sets n through m can be removed with the "RFn,m" command. The data sets following the deleted data sets are moved up (i.e. data set n+1 in the first command becomes data set n, data set m+1 becomes data set n in the case of the "RFn,m" command). Control is left in the F-phase for the last data set remaining after the removal. The F-phases are entered from the P-phase as the result of the "FN" and "GFn" commands. "FN" causes a new data set to be set up with an index that is one greater than that of the previous last data set. The parameters for this new set are set to the corresponding values for the preceeding data set. The "GFn" command can be issued in the P-phase or any F-phase and gives control to F-phase n. Control is returned to an F-phase when the LIST/DUMP, SCAN, or PLOT phases exit and those phases were entered from the F-phase. F-phase n is terminated by issuing a "GP", "GFm", "NP", "GO", "LI", "ZF", "FN", "GE", "DP", "SC", "HA", "EX" commands. 3.4 LIST/DUMP PHASE This phase has two funtions. The first is to allow the user to see the current values of the PDL. The second is to place the current PDL into a file for future reference. This phase performs these two functions in much the same manner. The difference being that the generated list of parameters is output to TI: in the first case and to a file in the second. This phase lists the complete PDL, the P-phase subset, or MULPLT.DOC (15-NOV-82) PAGE 3-7 OPERATING PRINCIPLES various numbers of F-phase subsets of the PDL depending on the structure of the "LI" (see Lines 3.17 through 3.20). LI 3.17 LI-1 3.18 LIn 3.19 LIn,m 3.20 Line 3.17 will result in the complete PDL being listed including the parameters for each and every data set. Line 3.18 will cause only the P-phase parameters to be listed. If the "n" in Line 3.19 is an integer between 1 and the number of data sets, that line will cause a listing of the F-phase parameters only for data set "n" to be generated. Line 3.20 will list the F-phase parameters for data sets "n" through "m". In all cases, the listing can be terminated at any time by entering a character on TI:. The two character command "DP" is closely related to "LI". This command generates the same plot description list (PDL) but places the list in a file instead of listing it on TI:. The form of the command is as follows. The "DP" command can be issued in response to either the P- or F-phase prompts. DPppp ... 3.21 where "ppp ... " is the file specification for the file which will receive the PDL. Such PDL files can be loaded into MULPLT by typing the file specification in response to the second prompt of the "getting on the air" sequence discussed in the first part of this chapter. As the file is loaded, MULPLT interprets each line of the PDL in the same fashion as during the interactive session with the user. At the end of the loading phase, all parameters will be set to their values at the time the "DP" command generated that PDL file. This provides a convenient mechanism of storing plot descriptions for later correction or production of additional copies. In addition, existing PDL files can be used as a starting point in the development of a new plot. If no file type (extention) is included in "ppp ... ", then MULPLT appends ".PDL". Thus, both of the following are synonymous. DPMYPLOT.PDL 3.22 DPMYPLOT 3.23 The format of the list follows the command line list found in the "WIZARD'S MENU". There is one line for each possible parameter input command line of the P-phase and any F-phase which has been activated with an "FN" command. Each line begins with the two or four character command and is MULPLT.DOC (15-NOV-82) PAGE 3-8 OPERATING PRINCIPLES followed by the current values for the parameters associated with that command. The P-phase lines associated with each title are listed only when a string has been entered for that title. As can be seen in Table 2.2, there are no "CP", "CN", ... lines with "T2", "XU", and "YR" as secondary tags since there have been no such titles entered during the session. This phase is entered as a result of the "LI" and "DP" commands from either the P-phase or the F-phases. Upon completion of the list, control is returned to the P-phase or F-phase that called for the list. The list generation can be aborted at any time by typing a on TI:. 3.5 SCAN PHASE The scan phase scans various combinations of the data sets to determine the x and y extrema required in laying out the plot. During the scanning, each data set is read and processed according to the current values of the F-phase parameters for that data set. Each point is windowed with the F-phase extrema and transformed to the appropriate plot space. Each point is loaded into a temporary buffer until either the data set is exhausted or 300 points have been loaded. This buffer is then scanned. This process is repeated until the data set is exhausted. At the end of the scan of a data set, the minimum x, maximum x, minimum y, and maximum y are reported on TI:. At the end of all data set scans, the overall extrema for the four data spaces X1, Y1, X2, and Y2 are reported. The current values of DSMIN and DSMAX for the four spaces have no effect on the scan and are not altered as a result of the scan. The user must alter these with the "MM" command if he wants them to reflect the results of a scan. The SCAN phase is entered via two routes. The "SC" command shown below causes a complete scan of the indicated data sets. SC 3.24 SCn 3.25 SCn,m 3.26 SC-1 3.27 where Form 3.24 causes a scan of all the data sets, Line 3.25 would cause a scan of data set n, and Line 3.26 causes a scan of data sets n through m. Line 3.27 causes the results of the last scan to be listed again on TI:. The SCAN phase can also be a precursor to the plot phase. If at the time a "GO" MULPLT.DOC (15-NOV-82) PAGE 3-9 OPERATING PRINCIPLES command is issued, all the extrema (DSMIN and DSMAX) for the four data spaces X1,Y1, X2, and Y2, which have not been defined by the appropriate "MM" P-phase commands, then the SCAN phase will be entered and the undefined extrema will be determined. Both the predefined and the determined extrema are reported on TI: as before and the plot will be generated using these values. The extrema for a data space are "undefined" if DSMIN equals DSMAX for that space. The scan phase exits to the P-phase, the F-phase, or the Plot phase depending on the mode of entry. If entry was with a "SC" command, then control will be returned to the calling phase. If entry was made to determine extrema prior to a plot, then control passes to the PLOT phase. 3.6 PLOT PHASE This phase generates the plot which has been defined during the interactive P and F-phases. This phase consists of four stages: plot surface layout, initialization, drawing the general plot features, and plotting the data. Plot surface layout consists of first determining the size including any spacing of the various titles, labels, and tick marks as they are to be drawn. These sizes along with the definition of the data surface allow the layout of the plot to be made. At this point the determined physical size of the plot as defined and the actual physical size after applying the supreme global scale factor SCALE is reported on TI:. NOTE: This process is performed every time a "GO" or "GE" command is issued. Thus, the position of particular features on the drawing surface will change as the PDL is changed. The initialization at this stage depends on the command issued, and the graphics device. For "GO", with IDEV = 1 or 4 and command lines 3.29 and 3.30, the screen of GT: is erased. For IDEV = 2 or 3, the file VDATA.BIN is initialized and the current time and date are drawn in the lower left hand corner of the physical surface. For command lines of the forms 3.29 and 3.30, the general plot features are then drawn. The data sets are plotted if the command line given was of forms 3.28, 3.29 or 3.31. However, forms 3.28 and 3.31 cause the indicated data sets to be plotted without the drawing of the general plot features. The same layout is done regardless of what features are drawn. Thus, the position of any feature drawn is the same regardless of whether the complete plot is drawn or parts of it. The behavior of the "GE" command is exactly the same as that of "GO" except that GT: is erased every time. The screen of GT: can be erased at anytime with the "ER n" command. The "ER n" command results in no scanning, initialization, or plotting. This phase is entered from the P-phase or F-phase in response to the "GO" or "GE" commands which has the general form shown in line 3.28. Note: that the PLOT phase is MULPLT.DOC (15-NOV-82) PAGE 3-10 OPERATING PRINCIPLES entered from the SCAN phase in those cases discussed above. GO IDEV,n,m 3.28 GO IDEV 3.29 GO IDEV,-1 3.30 GO IDEV,n 3.31 where n and m are data set indices and IDEV is a decimal integer that indicates which graphics device is used to plot. The following example would cause only the second data set to plotted on the screen. GO1,2 If the previous screen operation was an erase, only the plot of the data points would be seen. However, if the screen was not erased, then data set 2 will be superimposed upon whatever was on the screen. The following example would erase the screen before plotting. GE1,2 Being able to produce less than the complete plot is often convenient, since time is not spent drawing unwanted features. Table 3.1 GRAPHIC DEVICES IDEV Graphics Device 0 Generate a coded vector list in SY:FOR007.DAT 1 Tektronix 2 Versatec 3 Printronix 4 Grinnell These variations are provided for convenience in developing the desired plot. The user can concentrate on the general plot features and not have to spend time waiting for the data sets to be plotted every time he wants to look at the effects of the changes he has made to the axes and other general plot MULPLT.DOC (15-NOV-82) PAGE 3-11 OPERATING PRINCIPLES features. Conversely, the user can concentrate on manipulating one or more data sets without spending the time to draw the general plot features. The plotting procedes in several stages. The first stage consists of reading the data points from the file. The data tag identifies those lines which will have points to be considered. The points are subjected to the local windowing of XFMIN, XFMAX, YFMIN, and YFMAX. Next, only every ISDELT points are kept and transformed to the plot data space dictated by the parameters KSPACX and KSPACY (see the DATA SPACE Chapter). The point is then loaded into a buffer of 300 points. When either 300 plottable points have been loaded or the data set has been exhausted, the points are plotted. This process is repeated until the end of the file or a "ED" command tag is encountered. Upon exit, control is returned to the calling P or F-phase. The PLOT phase can be aborted at any time with a on TI:, at which time control is returned to the calling phase. 3.7 SPAWN PHASE The user may temporarily suspend MULPLT while spawning another task with the two commands illustrated below. W>mmm ... 3.32 N>mmm ... 3.33 where "mmm ..." is a valid MCR line. In each case, MULPLT is suspended while the designated tasks are spawned. "W>" waits for the completion of the spawned tasked before MULPLT continues. "N>" allows MULPLT to continue immediately after the MCR line is accepted. "N>" should be used with great caution as the spawned task and MULPLT could contend for the same files. This feature allows the user to list directories and run VCOPY without leaving MULPLT (see Section 3.9). The user can also edit a file without leaving MULPLT as the following illustrates. W>TEC MYPLOT.DAT _ * (TECO is in control) . . . ex$$ MULPLT.DOC (15-NOV-82) PAGE 3-12 OPERATING PRINCIPLES __ P: 3.8 SPECIAL FEATURES This phase provides additional graphic features above and beyond those provided by the general plot features and data plotting. This phase is entered automatically at the conclusion the PLOT phase if any lines with the primary tag ".." were encountered during the PLOT phase. This phase procedes through the data files in order. If a file has special features, that file is opened and read line by line. Each special features line is processed when encountered as described in the chapter on special features. Each special feature is controlled by a set of parameters some of which will be the P and F-phase parameters for that data file. When a file is opened to do Special Features, the special features specific parameters are set to their default values. The special feature command lines will cause these parameters to be set to the values of the corresponding arguments on the command lines in the same manner as the PDL processing. 3.9 PDL AS AN INDIRECT COMMAND FILE Traditionally, the PDL has usually been considered as a stored description of a plot. Such descriptions can be called up later for replotting or editing. Most users produced PDL files using the "DP" command. Alternately, the PDL file can be considered as a collection of MULPLT P and F -phase commands. In fact, the PDL files are input with the same code used to handle the interractive dialog from TI:. The input stream is merely redirected to the PDL file and the prompting is disabled. As always has been the case, the action commands such as "GO", "DP", "LI", and "HA" may also be included in PDL files. In addition, the remaining PDL line types are also commands, i.e. parameter input commands. Thus, the PDL can be rightly considered as an indirect command file and even used to control long sequences of plotting such as shown below. To augment this indirect command capability, PDL files may be nested to a depth of 2. In ordinary interactive operation, only Level 1 is used to input a PDL file. However, a PDL file being run at Level 1 can request another PDL be loaded. At such times, PDL input is switched to the Level 2 file. Input continues from the Level 2 file until the end of the file or a "NP" is encountered. Level 2 file EOF is encountered at which time the PDL input is returned to the MULPLT.DOC (15-NOV-82) PAGE 3-13 OPERATING PRINCIPLES Level 1 file. There is only one restriction governing whether a PDL file can be input at Level 2, i.e. nested. The Level 2 PDL can not contain "NP" or "AP" commands. Often several similar plots need to be made. The following sequence is an example of an extended control sequence which could be used to generate three different but similar plots. Ordinarily, this would be entered by the user at TI:. However, the same sequence of commands could be entered into a file and submitted to MULPLT with a "NP" command. Both approaches would yield an identical set of three plots. This example of the PDL as an indirect command file also illustrates the nesting of PDL files. STANDARD.PDL would be loaded on Level 2 and is used here to initialize the the plot parameters. NPSTANDARD.PDL TIT2Dataset 1 GF1 CFDATASET1.DAT GO2 W>PCOPY 2,1 GP TIT2Dataset 2 GF1 CFDATASET2.DAT GO2 W>PCOPY 2,1 GP TIT2Dataset 3 GF1 CFDATASET3.DAT W>PCOPY 2,1 HA A second example illustrates how a PDL file might be appended onto an existing PDL to provide a new PDL. In the case shown here, a first PDL contains the description of the first plot to be made. The file SECOND.PDL contains the changes or additions needed to convert FIRST.PDL into the description of the second plot. Finally, SECONDA.PDL will convert the PDL used to produce the second plot into that for a third plot. These examples do not, of course, exhaust the possibilities for combining PDL files to make many related plots. NPFIRST.PDL GO 2 W>VCOPY 2,3 NPSECOND.PDL GO 2 W>VCOPY 2,1 APSECONDA.PDL GO 2 W>VCOPY 2,1 MULPLT.DOC (15-NOV-82) PAGE 3-14 OPERATING PRINCIPLES CHAPTER 4 DATA AND COMMAND STRUCTURES The plot description language(PDL) and the data sets are the two main categories of information utilized by MULPLT. The internal data structures utilized for storage of these two categories of information are transparent to the user and are implicitly documented by the internal documentation and code of the program. The data structures utilized in the external storage of these two types of information share the following general structure. PP111...111222...222333...333 ... 4.1 PPSS222...222333...333 ... 4.2 PPSSTT333...333444...444 ... 4.3 where "PP" is a two character tag which identifies the type of line(record), "111...111" is the first argument for a line(record) of this type, "222...222" is the second argument, etc. The number of arguments and the form and nature of each argument will vary with the argument, with the line(record), and with the information category. In some cases, the first argument is also a two character tag which subdivides the line(record) types. For Special Features, the second argument is also a two character tag. In these cases the second tag is referred to as the Secondary Tag and the third tag is referred to as the Tertiary Tag. 4.1 PLOT DESCRIPTION LANGUAGE(PDL) As mentioned before, a plot is defined by the complete set of general and data set specific parameters which are manipulated in the P, F and LIST/DUMP phases. In the P and F-phases, the user manipulates these parameters interactively by entering command lines on TI:. These command lines have the general form shown in Line 4.1 with all arguments in the coded form and are of two general forms. The first is the parameter input commands where the command line arguments are used to set the values of the parameters associated with that MULPLT.DOC (15-NOV-82) PAGE 4-2 DATA AND COMMAND STRUCTURES command. The second type of command line causes actions such as phase transition to take place. For each command line the particular parameters on that line, their order, their FORTRAN type, and their default values can be discerned from the command summary and parameter glossary found in the WIZARD'S MENU as well as in other places in this document. Since these phases input command lines, the usual FORTRAN free formating is possible( see Section 2.2). As discussed in Section 3.4, the LIST/DUMP phases produce listings of the PDL. These listings use the same command tags, parameter groupings, and parameter formats as are input by the P and F-phases. In fact, the same code is used by the SI phase to input the PDL file. When a line entered by the user or read from a PDL file does not have a valid tag or combination of tags, MULPLT will issue an error message and prompt another input. If there is an error is the decoding or execution of a command line, an RSX-11M system message and/or a MULPLT message will be typed on TI:. Usually control remains with MULPLT and a new prompt is issued. In a few cases an immediate exit to the system will occur and the PDL will be lost unless previously stored with a "DP" command. 4.2 DATA The lines(records) of a data file can be classified in two ways, by content and according to whether the file is coded, binary, or otherwise specially formated. With respect to content, the following types of lines(records) can be present in a data file. PP X Y 4.4 PP X Y X Y X Y X Y ... 4.5 PP Y 4.6 PP Y Y Y Y Y Y Y Y ... 4.7 PP Z W U V S ... 4.8 ..SSTT ..... 4.9 where "PP" is the line(record) identification tag, "X" is the x-coordinate of the data point, "Y" is the y-coordinate of the data point, "Z", "W", ... are a collection of real numbers, two of which will chosen to be coordinates of a point which is to be plotted. Line 4.9 is a Special Features line and will be discussed in the chapter on Special Features. Line 4.4 has one data point per line(record). Line 4.5 has multiple points per line(record). Lines 4.6 and 4.6 are analogous to 4.4 and 4.5 respectively, except only the y-coordinates of the data MULPLT.DOC (15-NOV-82) PAGE 4-3 DATA AND COMMAND STRUCTURES points are present. These data structures can be used when the increment in the x-coordinate between successive points in the data set are all the same. If such is the case, space can be saved by not explicitly including the x-coordinates in the data set. The initial value and the increment in the x-coordinate are specified with the F-phase parameters XINIT and XDELT which are arguments of the F-phase command "IM". The choice between the implicit and explicit representations of the x-coordinates is made with the parameter XDELT. If XDELT is zero, MULPLT assumes the data set will include the x-coordinate. If XDELT is not zero, then MULPLT assumes that the data set will not include the x-coordinates. Since "IM" is a F-phase command, this choice is made for each data set and any mix is allowed among the data sets for a particular plot. The choice of the number of points per line(record) is made with the parameter NUMPPL which is one argument of the F-phase command "ND". The format (in the FORTRAN sense) used to process the data line is controlled with the F-phase command "FM". A wide range of data lines can be accomadated with the use of this command. The default is shown in line 4.10. This command can also be used to select the coordinates for a point to plot from among a group of numbers on a line. The following are examples for a file which was written with the format (A2,5E15.6). FM(2E15.6) 4.10 FM(E15.6,15X,E15.6) 4.11 FM(15X,E15.6,30X,E15.6) 4.12 NOTE The format does not include the tag and the parentheses have to be included. Line 4.11 would cause the first number on a line to be used for the x-coordinate and the third number will be the y-coordinate. Line 4.12 would cause the second number to be used for the x-coordinate and the fifth number to be used for the y-coordinate. Of course, the default format, Line 4.10, would select the first number for x and the second for y. The rest of the line would be ignored. Two cautions must be given at this time. First, the x-coordinate will always precede the y-coordinate on the data line. Secondly, the lines must be rigidly formated when using the schema to select coordinates from a group of numbers. The free formatting illustrated by FILE1.DAT in Chapter 2 cannot be used since the "X" field of the format can not be terminated with commas. Confusion would result in the processing of such lines with "X" fields in the MULPLT.DOC (15-NOV-82) PAGE 4-4 DATA AND COMMAND STRUCTURES FORMAT. The data line FORMAT must also be compatable with the number of points on the data line. The example below illustrates this. Several data sets can be included in the same data file by using different tags. Different formats are also possible. As an example consider an experiment which produces one temperature measurement every 5 seconds and one absorbance reading every 1 second. The following is an example of how the data file for this experiment could be constructed. TM1.0,25.1 4.13 AB0.753,0.767,0.803,0.825 TM5.0,25.2 AB0.857,0.899,0.902,0.934 TM10.,25.1 AB0.957,0.999,1.020,1.110 To utilize this file the following part of a MULPLT dialog might take place. __ P:FNFILE3.DAT 4.14 ____ F 1:TGTM ____ F 1:FNFILE3.DAT ____ F 2:IM1.0,1.0 ____ F 2:ND4 ____ F 2:TGAB ____ F 2:FM(5E15.5) The second classification of data line is by format in the most general sense. The above discussion assumed that the data and special features command lines were coded files. MULPLT will also accept data lines (not special features command lines) from binary files. In such cases the data will be organized into records of the form. PP1111222233334444 ... 4.15 where "PP" is two bytes containing an ASCII tag, "1111" is four bytes containing a REAL*4 binary number, "2222" is a REAL*4 binary number, ... The points to be plotted may be represented in ways analogous to 4.4 through 4.8. The following FORTRAN sequences illustrate a few ways of producing such binary data files. MULPLT.DOC (15-NOV-82) PAGE 4-5 DATA AND COMMAND STRUCTURES ITAG = 2HRD 4.16 WRITE (LUN) ITAG,(X(I),Y(I),I=1,NUMPPL) ITAG = 2HRD 4.17 WRITE (LUN) ITAG,(Y(I),I=1,NUMPPL) ITAG = 2HRD 4.18 WRITE (LUN) ITAG,X,Y,Z,A,B,C,D,E,F The data set format input with the F-phase command "FM" is used to make the choice of coded or binary data files. Line 4.19 is the general form used to specify a binary data file. FM#INDEXX,INDEXY 4.19 FM# 4.20 where "#" indicates that the file is binary and must be in the first column following the prompt, "INDEXX" and "INDEXY" are decimal integer indicies and indicate which of the binary numbers in the record is to be the x-coordinate and which is to be the y-coordinate. The indicies are relevant only when the data is of form 4.4 and 4.8. When NUMPPL is greater than 1, these indicies are not required and 4.20 would suffice. Notice that unlike the coded data file case, there is no restriction on the order of the x and y-coordinates within the binary data records. CHAPTER 5 DATA SPACES 5.1 INTRODUCTION When a plot is made of a single data set on a piece of graph paper, the axes are laid out by assigning the values to the extremes of the x and y axes in the units of the data being plotted. The points are then plotted using the logical values of the grid or tick marks. Actually, a transformation is set up to map the original data points into the physical space of the graph paper. Thus, two data spaces are involved, the original abstract space and the final physical space. MULPLT uses many different data spaces. These data spaces may be divided into three categories: raw data spaces, plot spaces, and physical space. The raw spaces are those of the data within the data sets. There are 11 raw data spaces, one for each data set. The plot spaces are the logical spaces of the plot with units and origins as indicated by the tick marks of the axes. The origin of a plot space may or may not be within the data surface. The distinction is made between raw and plot spaces to allow the individual data sets to be scaled and offset independently. Physical space is that of the plotting surface with units of inches and an origin in the lower left corner of the surface. There are four one dimensional plot spaces, X1, Y1, X2, Y2, available in MULPLT. The x-coordinate of each point is transformed into one of the two x plot spaces. The y-coordinate of each data point is transformed into one of the two y plot spaces. The extra two spaces allow creation of more complicated plots. Figure 5.1 is an example of this and includes a plot of temperature of a system versus time and absorption of a chemical species versus wavelength. MULPLT.DOC (15-NOV-82) PAGE 5-2 DATA SPACES Figure 5.1 In this example, the two x spaces are time and wavelength and the two y spaces are absorption and temperature. While this example is a little arbitary and probably the only reason for making such a plot would be to save space, Figure 5.2 illustrates a more useful example. MULPLT.DOC (15-NOV-82) PAGE 5-3 DATA SPACES Figure 5.2 In this latter example, there are two functions(absorption and temperature) of the same variable(time) and their interrelations can be easily seen from such a plot. 5.2 COUPLING OF DATA SPACES As each data point is read, several transformations are applied to obtain the point actually plotted on the physical plotting surface. These transformations may be though of as coupling the data spaces to one another. 5.2.1 RAW DATA SPACE TO PLOT DATA SPACE The assignment of a data set to the plot spaces is done with the F-phase command "FS". This command is used to set the parameters KSPACX and KSPACY both of which will have MULPLT.DOC (15-NOV-82) PAGE 5-4 DATA SPACES values of 1 or 2. Thus, each coordinate is independently coupled to a plot space. Figure 5.1 required the following (among other) PDL. __ P: FNdataset1 ____ F 1:FS1,1 ____ F 1:FNdataset2 ____ F 2:FS2,2 where "datasetn" is the file specification of the file containing the "n"th dataset. Figure 5.2, on the other hand, required the following (plus other) PDL. __ P: FNdataset1 ____ F 1:FS1,1 ____ F 1:FNdataset2 ____ F 2:FS1,2 The transformations begin with two scalings and two offsets for each coordinate as follows. XA = SFXB*(SFXA*(X + OFFXA) + OFFXB) 5.4 YA = SFYB*(SFYA*(Y + OFFYA) + OFFYB) 5.5 where SFXA, SFYA, ... are scale factors, OFFXA, OFFYA, ... are offsets, X and Y are the raw coordinates as read from the file. These transformations allow easy scaling before or after offsetting and vice versa. Although the scalings and offsets are redundant in the sense that Lines 5.4 and 5.5 can be simplified algebraically and result in one scale factor and one offset, the present form was chosen for user convenience. There is a set of scale factors SFXA, SFXB, SFYA, SFYB, and offsets, OFFXA, OFFXB, OFFYA, OFFYB, for each data set. Thus, one data set can be offset or scaled relative to another. The values of these eight parameters can be set by the F-phase commands "SF", and "OF"(see the WIZARD'S MENU). Figure 5.3 illustrates the use of offsets and scale factors. MULPLT.DOC (15-NOV-82) PAGE 5-5 DATA SPACES Figure 5.3 This following lines give the PDL pertinent to the points being made here. __ P:FNFIG53.DAT ____ F 1:SS1 ____ F 1:FNFIG53.DAT ____ F 2:SS2 ____ F 2:SF2. ____ F 2:FNFIG53.DAT ____ F 3:SS3 ____ F 3:SF2. ____ F 3:OF,3. ____ F 3:FNFIG53.DAT MULPLT.DOC (15-NOV-82) PAGE 5-6 DATA SPACES ____ F 4:SS4 ____ F 4:SF2. ____ F 4:OF3. The contents for the data file used in Figure 5.3 are shown below. All three examples illustrated in this figure involve only the X-coordinate. Scaling and offsetting in the y direction are analogous. Dataset 1 is unchanged. Dataset 2 has had the X-coordinate scaled. Dataset 3 shows scaling before offsetting, while Dataset 4 illustrates offsetting before scaling. ; FIG53.DAT RD1.,1. RD2.,2. RD3.,3. RD4.,5. RD6.,7. The x-coordinate of the resultant point (XA,YA) is then transformed by one of the functional relationships shown in 5.6, 5.7, and 5.8. The y-coordinate of (XA,YA) is transformed by 5.9, 5.10, or 5.11. XB = XA (KFUNCX = 1) 5.6 XB = RCON(I)/XA (KFUNCX = 2) 5.7 XB = ALOG(XA)/ALOG(BASLOG(I)) (KFUNCX = 3) 5.8 YB = YA (KFUNCY = 1) 5.9 YB = RCON(J)/YA (KFUNCY = 2) 5.10 YB = ALOG(YA)/ALOG(BASLOG(J)) (KFUNCY = 3) 5.11 where RCON(i) is a constant and 5.8 indicates that XB is the logaritm to the base BASLOG(I) of XA. The selection of the transformations to be performed at this level is accomplished by setting KFUNCX and KFUNCY using the F-phase command "FF" (see the WIZARD'S MENU). The values of RCON(K) and BASLOG(K) are set with the P-phase commands "RC" and "LB". The point (XB,YB) is next transformed by a global transformation that is applied to all data sets that are coupled to that plot space. MULPLT.DOC (15-NOV-82) PAGE 5-7 DATA SPACES XC = SFXG(KSPACX)*XB + OFFXG(KSPACX) 5.12 YC = SFYG(KSPACY)*YB + OFFYG(KSPACY) 5.13 where the point (XC,YC) is now in the KSPACX,KSPACY plot space. The transfomations described in lines 5.12 and 5.13 provide global manipulations of all data sets assigned to a particular plot space and are applied to all data from those data sets. The SFXG(i), OFFXG(i), ... are set with the "SF" and "OF" P-phase commands. As an example, if the units of one of the coordinates of the data points from several data sets are seconds but the actual range of the coordinate values for these points is in the microsecond range, setting SFXGL(I) = 1000000.0 for that space will convert all points to microseconds and allow the tick mark labels to be in the more convenient units of microseconds. This does not require changing the data sets or scaling all the data sets individually. 5.2.2 PLOT SPACES TO PHYSICAL SPACE A final user controlled transformation is provided so that the whole plot can be uniformally reduced or enlarged. This transformation is accomplished at the time of transformation to physical space as follows. XD = SCALE*XSCALE(KSPACX)*XC + XOFF 5.14 YD = SCALE*YSCALE(KSPACY)*YC + YOFF 5.15 where SCALE is the Supreme Global Scale Factor which is set with the "RP" P-phase command and (XD,YD) is the data point represented in physical space. The XSCALE(i) and YSCALE(i) are not directly controllable by the user. The nib size is also scaled by the Supreme Global Scale Factor using the following algorithm. NIB = MIN1(FLOAT(NIB)*SCALE,8.0) NIB = MAX0(NIB,1) This allows the width of the lines to be kept approximately in scale with the rest of the plot when large changes in size of a plot are made. However, due to the quantized nature of line width, undesirable effects sometimes occur. In such cases, the user must modify the nib sizes in the PDL for the new size plot. MULPLT.DOC (15-NOV-82) PAGE 5-8 DATA SPACES 5.3 WINDOWING AND OTHER FILTERS There are several criteria applied to each point to decide whether that point is to be plotted or not. the first of these is the local windows applied to the raw data as they occur in the data file. Any points outside the window defined by XEMIN, XEMAX, YEMIN, and YEMAX are discarded before transformation. The values for these four parameters are set with the F-phase commands "XE" and "YE" (see the WIZARD'S MENU). Once the point has been tranformed to the PLOT SPACE, the point is compared to the window defined by DSMINX(KSPACX), DSMAXX(KSPACX), DSMINY(KSPACY), and DSMAXY(KSPACY). If the point falls out side this window, the point is discarded. 5.4 PLOT SPACES AND AXES At this point, the distinction must be drawn between the plot data spaces, X1, Y1, X2, Y2, and the four axes of the plot (see Figure 6.1): x-lower(XL), y-left(YL), x-upper(XU), and y-right(YR). Each point of a data set to be plotted will be considered to be in the X1-Y1, X1-Y2, X2-Y1, or X2-Y2 plot data spaces. On the other hand, each x-axis may be coupled with either data space X1 or X2. Likewise, each y-axis may be coupled with either the Y1 or Y2 data spaces. In other words, the x-lower axis may be metering either the X1 data space or the X2 data space. Since each axis can be indepently coupled to one of two data spaces, many different combinations are possible. Two such combinations are shown in the in Figures 5.1 and 5.2 which have the couplings of axes and data spaces shown in Table 5.1. Table 5.1 AXIS DATA SPACE(FIG. 5.1) DATA SPACE(FIG. 5.2) XL X1 X1 YL Y1 Y1 XU X2 X1 YR Y2 Y2 The coupling of axes to data spaces is accomplished with the P-phase command "AS". Three variations of axis to data space coupling are illustrated in Lines 5.16 through 5.18. AS1,1,0,0 5.16 AS1,1,2,2 5.17 MULPLT.DOC (15-NOV-82) PAGE 5-9 DATA SPACES AS1,1,1,2 5.18 Line 5.16 illustrates the couplings used in Figures 2.1 through 2.7 of Chapter 2, where the only data spaces utilized were X1 and Y1 which were coupled to XL and YL, respectively. XU and YR were not coupled to any space and, hence, turned off. Figure 5.1 was produced with the couplings dictated by Line 5.17. Figure 5.2, by Line 5.18. An axis can be disabled in two ways. The first was alluded to in the preceding paragraph. Axes which are not coupled to a data space are not generated. In addition, the mode control parameter IDISAB of the "MOxx" command can be used to disable parts or all of an axis. The difference being that the space for the axis is alloted in the latter case whether the feature is enabled or disabled. In the former case this is not done. CHAPTER 6 PLOT FEATURES (AXISOLOGY) 6.1 INTRODUCTION Figure 6.1 illustrates the general features available in MULPLT. These consist of the four axes: x-lower(XL), y-left(YL), x-upper(XU), and y-right(YR); the two main titles: title 1(T1) and title 2(T2); the four axis titles; and the time and date of the generation of the plot. This chapter will discuss the variations of these features available and how the user selects the desired variations. Figure 6.1 MULPLT.DOC (15-NOV-82) PAGE 6-2 PLOT FEATURES 6.2 PLOT LAYOUT The physical drawing surface available for the production of a MULPLT plot varies with the actual graphics device receiving the plot. Many plots( the default plot is one example) can be produced on any of the currently supported graphics devices with no changes in the PDL. The user merely sets IDEV to the appropriate value in the "GO" command (see Line 3.16). In general, however, there are differences in graphics devices which will preclude one PDL from being exactly applicable to all devices. Luckily, this not a serious limitation as only minor modifications of the PDL are required to allow the plot to be made on the various devices. Of course, some capabilities such as varying line widths and patterns are not available on all devices. The main difference that the user has to be aware of is the size of the physical drawing surface. The general layout of the drawing surface is shown in Figure 6.2. There are three surfaces of interest. The first is the physical surface and is defined by the capabilities of the actual graphics device and will vary from one device to another. The second surface is the plot surface and includes all graphics output by MULPLT (except for the creation time/date). This does not have to vary from one graphics device to another as long as the plot surface is small enough to be a subset of the physical surface for all the devices. The final surface is the data surface which is the area that falls within the four axes (drawn or implied). All data points are plotted on the data surface, i.e. are never outside the axes. The user has direct control over some aspects of the plot layout. The command lines shown in lines 6.1 and 6.2 allow the user to define the data surface and to define the borders around the plot surface. __ P:XA XMARGL,XLNGTH,XMARGR 6.1 __ P:YA YMARGL,YLNGTH,YMARGR 6.2 where "XMARGL", "YLNGTH", ... are real numbers with units of inches and defined in Figure 6.2. MULPLT.DOC (15-NOV-82) PAGE 6-3 PLOT FEATURES Figure 6.2 The control of the placement of the data surface on the plot surface and the size of the plot surface is indirect, a consequence of the size and nature of the general plot features such as the titles, tick mark length, and tick mark labels. In other words, MULPLT places the data surface each time a drawing is made after first determining the size of the pertinent features. The only concern the user might have with respect to the data surface placement is if his choice of parameters cause the plot surface to be larger than the physical surface. To "bring the plot back on to the physical surface" (i.e. to make it fit), the titles, tick mark label formats, etc could be changed. The plot surface can also be scaled by the supreme global scale factor. This scaling effects both directions in the same way. One use of this scaling would be to allow a plot to be laid out on a small CRT and then scaled up for hard copy. This scaling is also applied to nib sizes (line widths). See Section 5.2.2 for further information. MULPLT.DOC (15-NOV-82) PAGE 6-4 PLOT FEATURES 6.3 AXES The four MULPLT axes are drawn with the subroutine AXIS. AXIS.DOC (Appendix 1) describes the variety of axes available. The physical ends of each axis are determined as described above. Each axis is coupled to one of two data spaces as described in Section 5.4. The values of DSMIN and DSMAX for the appropriate data space are used as ALBEG and ALEND respectively. Some AXIS features can be different for each of the four axes. These features are controlled with parameters entered with the P-phase commands "TL", "FM", "TM", "MO", "TX", "TP", "LB", and "RC". The remaining features are controlled in common for all four axes with the P-phase commands "CP", "CN", and "NA". With the exceptions of DSMIN and DSMAX, the variable names used in MULPLT correspond closely with the names used in AXIS and AXIS.DOC allowing the user to make the necessary connections between this document and AXIS.DOC. There are two mechanisms for disabling axis features. The first, which was discussed in Section 5.4, consists of turning off the complete axis by coupling the axis with data space 0 which is non-existent. This is accomplished with the "AS" P-phase command. More selective control is afforded by the parameter IDISAB for the P-phase command "MO". As seen in the WIZARD'S MENU, there is a bit for disabling each of the axis features: the axis itself, the tick marks, and the tick mark labels. IDISAB should be the sum of the values (1,2,4) associated with the features that you want to disable. IDISAB equal to zero thus means to draw all features. 6.4 PLOT AND AXIS TITLES The six titles indicated in Figure 6.1 are maintained by the P-phase command "TItt" which accepts a string of up to 68 characters. This string becomes a display list string for SYMPLT as discussed in SYMPLT.DOC (Appendix 2). Corrections to titles are made by reentering the string with the appropriate "TItt" command. Corrections to a title can also be made by editing the PDL file for the plot externally to MULPLT. CHAPTER 7 DATA PLOTTING MODES 7.1 INTRODUCTION Once the data points are transformed and windowed(see chapter 5), the data points are plotted in one of several ways. The mode of plotting the points of a given data set is selected with the F-n phase command shown in Line 7.1. ____ F n:FT KPLTYP,ISDELT,ISORIG 7.1 where KPLTYP selects the mode(see Table 7.1), and ISDELT and ISORIG control the plotting of secondary symbols as described later in this chapter. Table 7.1 KPLTYP PLOTTING MODE 1 Point plots with secondary symbols 2 Lines with Secondary Symbols 3 Primary Symbols with Secondary Symbols 4 Bar graphs 5 Primary symbols with automatic annotating MULPLT.DOC (15-NOV-82) PAGE 7-2 DATA PLOTTING MODES 7.2 POINTS AND SECONDARY SYMBOLS The first data plotting mode is point plotting with secondary symbols and is illustrated in Figure 7.1. In point plotting, a simple point is drawn at the location of each data point with the following exception. Periodically during the drawing of a data set, a "Secondary Symbol" is drawn in place of the point. The occurence of the Secondary Symbols is controlled with ISDELT and ISORIG. When a new data set is opened, an internal counter is set equal to the value of ISORIG. As each data point is plotted, this internal counter is incremented and compared to ISDELT. If the number contained in the internal counter is less than ISDELT, then the point is plotted as a simple point. If the counter is equal to ISDELT, then the counter is set equal to zero and a Secondary Symbol is drawn centered over the location of that data point. No point is drawn. This procedure continues until there are no more points in the data set. Thus, there is a Secondary Symbol drawn after ISDELT - ISORIG data points have been plotted as points. Thereafter, a Secondary Symbol is drawn in place of every ISDELT'th point. The points are plotted and counted in the order that they are read from the data file. The Secondary Symbols are, thus, usually of value only when the data is ordered with respect to one of the coordinates. If no Secondary Symbols are desired, ISDELT must be set to a number greater than the number of plottable points in that data set. Figure 7.1 Figure 7.1 illustrates several variations of this mode of plotting. This example assumes that the data is in four different data files and defaults apply except where indicated in Lines 7.2 thru 7.12. The following PDL produced the MULPLT.DOC (15-NOV-82) PAGE 7-3 DATA PLOTTING MODES pertainent aspects of this example. __ P:FNFIG71A.DAT 7.2 ____ F 1:FT 1,32000 7.3 ____ F 1:FNFIG71A.DAT 7.4 ____ F 2:FT 1,15 7.5 ____ F 2:SSSSB 7.6 ____ F 2:FNFIG71C.DAT 7.7 ____ F 3:FT1,10 7.8 ____ F 3:SSSSC 7.9 ____ F 3:FNFIG71D.DAT 7.10 ____ F 4:FT 1,10,3 7.11 ____ F 4:SSSSD 7.12 Data set 1 illustrates a point plot without Secondary Symbols. Data set 2 illustrates a plot with Secondary Symbols. Data sets 3 and 4 illustrate how the Secondary Symbols can be offset from one data set to another. This can be especially useful when plotting several curves which are very close to one another. If the Secondary Symbols were not offset from one another in such cases, the Secondary symbols for one curve could fall on top of those for another curve. 7.3 LINES AND SECONDARY SYMBOLS Figure 7.2 illustrates the line mode of data plotting. In this mode a line is drawn from one data point to the next. The connecting lines are drawn with the line parameters NIBBG and LPATBG which are set with the command shown in Line 7.25. Secondary Symbols when present are centered over the appropriate data points. In this case, the lines from the points before and after the point with the Secondary Symbol are still drawn. The occurrence of the Secondary Symbols are controlled as in the point plotting mode. This mode of plotting is useful only when the data set is ordered with respect to one of the coordinates. MULPLT.DOC (15-NOV-82) PAGE 7-4 DATA PLOTTING MODES Figure 7.2 The following PDL segment was used to create Figure 7.2. __ P:FNFIG72A.DAT 7.13 ____ F 1: 2,32000 7.14 ____ F 1:FNFIG72B.DAT 7.15 ____ F 2:FT 2,5 7.16 ____ F 2:SSSS 7.17 7.4 PRIMARY SYMBOLS AND SECONDARY SYMBOLS The third mode of data plotting is illustrated in Figure 7.3. This mode is very similar to the point plot mode. The difference is that a Primary Symbol is plotted for each data point rather than a simple point. MULPLT.DOC (15-NOV-82) PAGE 7-5 DATA PLOTTING MODES Figure 7.3 The following segment of dialog was utilized in the preparation of Figure 7.3. __ P:FNFIG73A.DAT 7.18 ____ F 1:FT 3,32000 7.19 ____ F 1:PS* 7.20 ____ F 1:FNFIG73B.DAT 7.21 ____ F 2:FT 3,5 7.22 ____ F 2:PS@SD 7.23 ____ F 2:SSSSB 7.24 MULPLT.DOC (15-NOV-82) PAGE 7-6 DATA PLOTTING MODES 7.5 BAR GRAPHS Figure 7.4 Bar graphs are produced using the fourth data plotting mode as illustrated in Figure 7.4. A rectangle is drawn for each data point. Each rectangle is perpendicular to the x-axis and is centered horizontally over the x-coordinate of the data point. One horizontal edge falls on the data point. The other horizontal edge falls on the larger of the value BGBASE, which is expressed in raw space, or DSMIN. Thus, the bottom of the rectangle will fall on the XL-axis unless BGBASE has been set to a value that will fall on the data surface. The width of the rectangle is DXBAR which is expressed in the units of the raw data space. The rectangle is constructed with lines having a line width of NIBBG and a line pattern of LPATBG. These parameters are set with the F-n phase commands shown in Line 7.25. ____ F n:BG DXBAR,BGBASE 7.25 ____ F n:BL NIBBG,LPATBG 7.6 PRIMARY AND SECONDARY SYMBOLS The Primary and Secondary Symbols mentioned in this chapter are actually graphic constructions as defined in the SYMPLT.DOC appendix. These constructions are specified with a MULPLT.DOC (15-NOV-82) PAGE 7-7 DATA PLOTTING MODES SYMPLT display list string entered with the "PS" and "SS" F-n phase commands. In the simple case, the display list string is a string of characters to be drawn. For such cases, these characters will drawn according to the default symbol library. The resultant string of characters will be centered over the desired data points. In general any valid SYMPLT graphical construction is allowed as a Primary or Secondary Symbol. The only limitation (and a fairly severe one) is the length of the strings that can be entered with the "PS" and "SS" commands. 7.7 PRIMARY SYMBOLS WITH AUTO ANNOTATION Figure 7.5 illustrates the final data plotting mode which allows the plotted points to be annotated. In this mode each plottable point is plotted with the current Primary Symbol and is annotated with an integer number. The number used is the count of plottable points from that data set which has been plotted up to that point. Thus, the first plottable point of the data set will be annotated with a "1", the second with a "2", etc. The points which are plotted as diamonds and squares in Figure 7.5 illustrate this automatic annotation. A second technique for annotation will be discussed in the chapter on Special Features. With that technique, a separate SYMPLT graphical construction can be used to annotate each point. The points in Figure 7.5 drawn as triangles illustrate this technique. Figure 7.5 In this mode of data plotting, the current Primary Symbol is centered over the data point and the annotation starts where the Primary Symbol ends. This allows the user to control to MULPLT.DOC (15-NOV-82) PAGE 7-8 DATA PLOTTING MODES some degree the placement of the annotations with line feeds and spaces. The following PDL dialog was used to set up this plot. (The Special Features are not shown here.) __ P:FNFIG75.DAT 7.26 ____ F 1:FT 5,32000 7.27 ____ F 1:PS@2SD ^S 7.28 ____ F 1:FNFIG75.DAT 7.29 ____ F 2:PS@2C ^D 7.30 ____ F 2:TGR@ 7.31 The symbol parameters (HEIGHT, WIDTH, ....) used in drawing the annotations are those of the Secondary Symbols and can be set accordingly. CHAPTER 8 SYMBOLOGY 8.1 GENERAL MULPLT uses the subroutine SYMPLT to draw symbol constructions such as titles, tick mark labels, Primary Symbols, Secondary Symbols, etc. Generally, the user has considerable control over the way SYMPLT draws these constructions via the various symbol parameters (HEIGHT, WIDTH, VDIST, HSPACE, SLANT, nib width) and intra string control information. The notable exceptions to this are in the cases of the Creation Time/Date and tick mark labels. The user has no control over the Creation Time/Date. In the case of the tick mark labels, the user can set the symbol parameters with the "CPTL" and "CNTL" commands and the format (with "FMXL", "FMYL", ... ) but can not select the symbol library used. However, with the titles and plot symbols full SYMPLT control is possible using the "CPxx" and "CNxx" commands and the display list strings which are entered with the "TIxx", "PS", and "SS" commands. The complete description of these command lines is found in the WIZARD'S MENU. SYMPLT.DOC contains a general discussion of the symbol parameters and the display list strings. The user is limited, however, by the length of the buffers provided to hold the display strings that define the titles and plot symbols. 8.2 RESIDENT LIBRARIES As shown in Table 8.1, different sets of symbol libraries are resident during the various phases of MULPLT. The user must be aware of what libraries are available to him at any given time. MULPLT.DOC (15-NOV-82) PAGE 8-2 SYMBOLOGY TABLE 8.1 INTERNAL LIBRARY PHASE NUMBER LIBRARY PLOT 0 ROMSIM.SYM 1 GRKSIM.SYM 2 PLOTSM.SYM 3 EXTERNAL (1000 bytes) SPECIAL FEATURES 0 ARROWHD.SYM 1 EXTERNAL (9000 bytes) Any other valid SYMPLT symbol library can be used as an external library by MULPLT subject to the restrictions that there must be enough EXTERNAL LIBRARY buffer space to hold the complete library and that the display list string must be long enough to hold the external library specification (see SYMPLT.DOC) in addition to the rest of the display list. This latter restriction is espescially important in the case of Primary and Secondary Symbol specifications since the buffers to hold these strings are so small. One thing can be done to alleviate this problem to some extent. The user can copy the pertainent libraries into his directory on his default device and rename the file with a one letter name. This will allow a much shorter external library specification. As an example: _ >PIP E./FO=LB:[1,54]ARROWHD.SYM 8.1 . . . ____ F n:PS@@'E.'A 8.2 CHAPTER 9 SPECIAL FEATURES 1. INTRODUCTION 2. COORDINATE SYSTEMS 3. SYMBOLS 4. AXES 5. BOXES AROUND SYMBOLS 6. INDIVIDUALLY ANNOTATED POINTS 7. LINES 8. STANDARD DEVIATION FEATURES 9. SOLID ARROWS 10. ARROWS 11. DIMENSIONS 12. ARCS 13. CIRCULAR DIMENSIONS 9.1 INTRODUCTION In addition to the standard plot features MULPLT provides the user with Special Features which permit further embellishments of a plot and the production of other graphics such as banners and posters. Special Features are utilized via an ordered display list of Special Features commands. This display list is located in one or more of the data files (see Section 3.7). Each line of the display list has the general format shown in Line 9.1. MULPLT.DOC (15-NOV-82) PAGE 9-2 SPECIAL FEATURES ..ssttrrr ... 9.1 where ".." is the primary tag and is the same for all Special Features command lines, "ss" is the secondary tag, "tt" is the tertiary tag, and "rrr ... " is the remaining arguments for the command line. The WIZARD'S MENU contains a complete list of Special Features command lines, arguments, and command line formats. Although the Special Features display list must be ordered, the primary tag filter used in processing data files allows this list to be interleaved with comment and data lines. The data file containing the Special Features display list will be referred to as the SPF file. NOTE The data file containing Special Features display list must be a coded file. In general there will be three types of command lines for any type of Special Feature. One type of command line specifies the position of the feature. Another specifies the values for the parameters controlling the drawing of the feature. Finally, there will be one variety of command line which actually causes the feature to be drawn. In some cases, one particular command line will perform more than one of these functions. Upon entering the Special Feature phase for each data set, all Special Feature parameters are set to their respective default values. These values remain in effect until changed by a command line. Likewise, when a command line changes the value of a parameter, that value remains in effect until changed by another command line of that type or until a new data set is opened. Furthermore, the command lines are processed in the order they occur in the data file making the order of the command lines important. The same lines in different orders can produce completely different final products. 9.2 COORDINATES SYSTEMS All Special Features require the specification of where the feature is to appear on the drawing surface. Some Features, such as arrows and lines, require the specification of more than one point to completely define the feature. The Special Features phase provides flexible input of these position specifications with the use of the module PARSCO which parses coordinate lines for the Special Features input. The points may be expressed in absolute, relative, incremental, or polar modes. In each case the specified coordinates can be in the raw, plot, or physical spaces as MULPLT.DOC (15-NOV-82) PAGE 9-3 SPECIAL FEATURES described in Chapter 5. Switches are used to specify the mode and data space of the coordinates in the command lines. PARSCO converts the points as input into absolute physical coordinates for use by the other Special Features modules. The coordinates in the command lines marked with "*" in the WIZARD'S MENU may be input with this flexibility. In most cases, coordinate information is input on lines with a "..ssCO" command tags. In a few cases, such as "..LNDR", coordinates are given in other type lines. The general format of such coordinate specification lines is given in Line 9.2 ..sstt uuu.../aa/bb, vvv.../aa/bb, www.../aa/bb, zzz... ... 9.2 where "..sstt" is the three tag Special Feature command, "uuu...", "vvv...", "www...", and "zzz..." are strings of characters encoding the real numbers U, V, W, Z, ... These numbers are grouped into pairs (U,V), (W,Z), ... with each pair being one point. The substrings "/aa" and "/bb" represent switches for mode and data space control. Some switches apply to the whole line. Others apply only to one point. Others apply to only one coordinate of one point. Actually, the switches are optional. If not present, the last switch encountered for that group is used or the default switch for that group if none have been encountered. Table 9.1 contains the three group of switches used by PARSCO to control input for Special Features. Table 9.1 PARSCO Switches Group 1a Mode Control /AB Coordinates are absolute /RE Coordinates are relative to a local origin /IN Input Coordinates are added to the x or y-coordinate of the last point. Group 1b Mode Control /PR Coordinate is the polar radius of the point /PA Coordinate is the polar angle of the point Group 2 Data Space Control /PH Coordinates are in physical units /PL Coordinates are in plot units /RW Coordinates are in raw units Group 3 Local Origin Specification /OR First point on line becomes Local Origin MULPLT.DOC (15-NOV-82) PAGE 9-4 SPECIAL FEATURES Upon entry into the Special Features phase (i.e. at the beginning of a new dataset), the input mode is set to absolute, the data space is set to raw, and the value of the Local Origin to 0.0,0.0. Switch Group 1 selects one of four modes of coordinate input. In the first three modes (Group 1a) the pairs (U,V), (W,Z), ... are treated as ordered pairs of x,y coordinates. The ordered pairs are converted into absolute coordinates as follows. X = XIN (Absolute) 9.3 Y = YIN X = XIN + XORIG (Relative) 9.4 Y = YIN + YORIG X = XIN + XLAST (Incremental) 9.5 Y = YIN + YLAST where (X,Y) is the absolute specification of the point in the designated input data space, "rIN" is the coordinate as input, "rORIG" is the appropriate coordinate of the Local Origin, and "rLAST" is the preceding absolute value of the coordinate. The fourth mode provides the capability of specifying the points in polar coordinates. For this mode, the coordinate pairs are unordered but must include the Group 1b switches. Thus, the portion of the command line containing a given point will have one of the following two forms. aaa.../PA, rrr.../PR 9.6 rrr.../PR, aaa.../PA 9.7 where "aaa..." is a character string encoding a real number to be used as the polar angle (degrees) for the point and "rrr...", the polar radius (units of the data space). In other words, the switches "/PA" and "/PR" identify the coordinate as well as setting the polar coordinate mode. Each point is converted in to absolute coordinates as follows. X = PR*COS(A') + XORIG 9.8 Y = PR*SIN(A') + YORIG 9.9 where A' is the polar angle converted to radians. The angles are defined relative to the positive x-axis with positive angles being counter clockwise. Both the Relative and Polar Coordinate modes make use of a user defined reference point referred to as the Local Origin. To set or change the Local Origin, an "/OR" is appended to either coordinate of the first point of any line ( "..ssCO", "..LNDR", ...) that is processed by PARSCO. The MULPLT.DOC (15-NOV-82) PAGE 9-5 SPECIAL FEATURES presence of the "/OR" causes that line to be used solely for the setting of the Local Origin. Any subsequent points on the line are disregarded. Furthermore, the parameters usually associated with that line are not affected. Once the conversion to absolute cartesian coordinates has been made, the point is transformed to the physical data space in a manner analogous to the transformations of the data points as discussed in Chapter 5. 9.3 SYMBOLS (SYMPLT CONSTRUCTIONS) The most important Special Feature is the ability to add additional symbols (SYMPLT graphical constructions) to a plot. A common use for these constructions is in the creation of legends for a plot, to generate additional labeling, and the production of banners and posters. These constructions can be placed any where on the plot surface. This feature is executed with command lines of the form shown on Line 9.10. ..SYttrrr... 9.10 where "tt" is any one of the tertiary tags for SYMPLT command lines listed in the WIZARD'S MENU, "rrr..." represents a string of associated arguments. The "..SYCO" command line specifies the point with respect to which the construction is placed on the surface. The placement is also affected by the modes set with the "..SYSM" command line. (See SYMPLT.DOC for a complete discussion of graphical construction placement.) The "..SYSP", "..SYSA", and "..SYSM" command lines tend the various symbol parameters used to control the drawing of the individual symbols that go to make up a graphical construction. The remaining commands tend an internal buffer which holds the SYMPLT display list string and/or cause the feature to be drawn. This internal buffer has a length of 400 bytes. This allows the user to build large strings without having command lines in a data file which are more than 80 characters long. For the "NS", "SS", "1S", and "SD" commands the "rrr..." portion of the command line is appended to the internal buffer. The carriage return and line feed delimiting such command lines are not entered into the buffer. The "NS" and "1S" commands zero the buffer before loading and are used to start new display list strings. The feature is drawn as the last part of the "DR", "SD", and "1S" commands. Thus, complex features of this type start with a "NS" command line, followed by some number of "SS" command lines and end with either a "DR" or "SD" command line. A simple feature of this type may be achieved with a single "1S" command line. Figure 9.1 illustrates several aspects of Special Features and Special Features and Special Feature Symbols. MULPLT.DOC (15-NOV-82) PAGE 9-6 SPECIAL FEATURES FIGURE 9.1 To achieve Figure 9.1, the SPF file (SPF Example 9.1) was created with an editor. Next MULPLT was invoked and the command lines found in PDL Example 9.1 entered in response to the appropriate prompts, and the figure generated. In any real session, several iterations consisting of going back and editing the SPF file, then redrawing with MULPLT would be required to obtain the desired results. SPF EXAMPLE 9.1 ..SYCO2.0,8.0 ..SYSM0,0,0,3 ..SYSP.12,.12,.24,.05 ..SYNS@@'SB:[10,10]ROMSIM.SYM'ABC^M^JDEF^M^JGHI ..SYDR ; ..SYCO4.,6. ..SY1S@@''XYZ ; ..SYCO6.0/PL,8.0 ..SYNS@@'SB:[10,10]ROMSIM.SYM'ABC^M^J ..SYSS@@'SB:[10,10]GRKSIM.SYM'ABC^M^J ..SYSD@@'SB:[10,10]PLOTSM.SYM'ABC^M^J MULPLT.DOC (15-NOV-82) PAGE 9-7 SPECIAL FEATURES PDL EXAMPLE 9.1 MMX10.0,10.0 MMY10.0,10.0 FNFIG91.SPF OF-2.,,-1. Notice that there are three different graphical constructions in Figure 9.1. There is one with the lower left corner of the "A" located at (1.0,6.0), one with the "X" at (3.0,4.0), and one with the "A" at (1.0,8.0). These three constructions were drawn with the horizontal and vertical placement modes set to 0, i.e., the first point OF the construction is placed at the physical string origin (See SYMPLT.DOC). The physical origin of the first two constructions are specified in the Raw Data Space. these constructions are hence offset by the offset given in the "OF" command before being drawn. The third is not offset since the string origin was specified in the Plot Data Space as selected by the "/PL" PARSCO switch. 9.4 AXES In addition to the four standard MULPLT axes discussed in chapter 5, axes can be created as Special Features. The Special Features commands "..AXtt" are used to set parameters and cause the axes to be drawn. The correlation between parameter names for Special Features axes and those for the AXIS subroutine allow the user to extend the AXIS.DOC description to cover this application. The symbol parameters used in drawing the tick mark labels for the axes are controlled by the "..SYtt" command lines. Thus, the command "..SYSP" sets the size of the symbols of the tick mark labels. Figure 9.2 illustrates the Special Features Axis capabilities. MULPLT.DOC (15-NOV-82) PAGE 9-8 SPECIAL FEATURES Figure 9.2 Again the SPF file is created with an editor, and the PDL would be entered in MULPLT and the figgure then generated with a "GO" command. The symbol library library used to draw the labels was selected with the "..SY1S" command line. The "A" was drawn in order to force the selected library to actually be loaded. AXIS uses the last library used in drawing labels and would not have loaded the ENGGOT.SYM library. This flexibility in choice of symbol library for tick mark labels is not available for the standard MULPLT axes drawn in the Initialization phase. Notice that in this example the axis end points were expressed in the Raw Data Space. SPF EXAMPLE 9.2 ..SYCO8.0,8.0 ..SYSP0.15,0.15,0.30,0.05 ..SY1S@@'SB:[10,10]ENGGOT.SYM'A ; ..AXCO1.0,2.0,8.0,6.0 ..AXMM17.0,52.0,20.0,1. ..AXTM10.0,2.0,1 ..AXTX.15,,.07 ..AXFM(F10.1) ..AXDR MULPLT.DOC (15-NOV-82) PAGE 9-9 SPECIAL FEATURES PDL EXAMPLE 9.2 MMX10.0,10.0 MMY10.0,10.0 FNFIGURE92.SPF GO1,1 9.5 BOXES AROUND SYMBOLS Boxes can be drawn around SYMPLT graphical constructions using the "..BXtt" commands as illustrated in Figure 9.3. In creating this feature, MULPLT uses information which is retained internally about the placement and size of the last graphical construction executed by SYMPLT. In the usual applications, these graphical constructions are the Special Features achieved with the "..SYtt" commands. Figure 9.3 The example in FIgure 9.3 actually contains two boxes drawn around the same construction. There could have been any number in addition if so desired. The following data file was used to generate Figure 9.3. MULPLT.DOC (15-NOV-82) PAGE 9-10 SPECIAL FEATURES SPF EXAMPLE 9.3 ..SYCO3./PH,3. ..SYSP0.5,0.5,1.0,0.05 ..SY1S@@'SB:[10,10]ROMSIM.SYM'SYMPLT^M^JCONSTRUCTION ..BXMG ..BXLP3,177777 ..BXDR ..BXMG.1,.2,.3,.4 ..BXLP3,177000 ..BXDR The inner box which was drawn with solid lines, has zero margins and illustrates the boundaries of the graphical construction as defined in SYMPLT.DOC. The outer box, which was drawn with broken lines, has, however, non-zero margins between the construction and the box. Notice also, that the four margins are indepent of one another. 9.6 INDIVIDUALLY ANNOTATED POINTS A second method is available for annotating data points in addition to that first described in Section 7.7. In this second case, the user supplies an individual annotation for each point. In contrast to the regular plotting of data, data for individual annotations are placed on Special Features lines with the following format. ..APDRxxx...,yyy...,aaa... 9.11 where "..APDR" indicates that this data point is to be individually annotated, "xxx..." is the real x-coordinate for the point with any of the PARSCO switches if desired, "yyy..." is the real y-coordinate of the data point, again with any desired switches, and "aaa..." is a SYMPLT display string. MULPLT.DOC (15-NOV-82) PAGE 9-11 SPECIAL FEATURES Figure 9.4 Figure 9.4 illustrates this feature and was created with a data file containing the following. SPF EXAMPLE 9.4 ..APDR1.,2.3,@@'R.SYM'CH^D3^S^S+ ..APDR2.,3.5,@@'R.SYM'CH^D3^SCH^D2^S^S+ ..APDR3.,4.0,@@'R.SYM'CH^D3^SCH^D2^SCH^D2^S^S+ ..APDR4.,4.7,@@'R.SYM'CH^D3^SCH^D2^SCH^D2^SCH^D2^S^S+ where R.SYM is a local copy of the Symbol Library SB:[10,10]ROMSIM.SYM which was moved into the user's directory simply to make the above command lines shorter (See Section 8.2). This feature consists of a Primary Symbol drawn at the data point along with a SYMPLT construction affixed as an annotation. In addition to the above, the following PDL, was entered prior to drawing Figure 9.4. PDL EXAMPLE 9.4 MMX10.0,10.0 MMY10.0,10.0 FNFIG92.SPF MULPLT.DOC (15-NOV-82) PAGE 9-12 SPECIAL FEATURES PS@@'SB:[10,10]PLOTSM.SYM'D^D Notice that the symbol libraries are explicitly defined in both the PDL and the Special Features data file. This is necessary since, although the data points are plotted as in the PLOT phase, the plotting is actually done in the Special Features phase where ARROWH.SYM is the only resident symbol library (See Chapter 8). The Primary Symbol parameters are controlled as they are for regular data plotting with the "CNPS" and "CPPS" commands. However, this feature is constructed independent of KPLTYP (See Section 7.1). 9.7 LINES Two forms of lines are supported in this Special Feature. The first form is specified by the end points of the line. The second requires the slope, y-intercept, and the range of x. This Special Feature is controlled with the following three command lines. ..LNMO mmm... 9.12 ..LNLP nnn... ,lll... 9.13 ..LNDR uuu... , vvv... , www... , zzz... 9.14 where "mmm..." is a character string encoding a decimal integer which selects the type of line to be constructed; "nnn...", a decimal line width; "lll...", an octal line pattern; "uuu...", "vvv...", "www...", and "zzz..." real numbers R1, R2, R3, and R4. No action is taken until a "..LNDR" command line, at which time a line is drawn using the current "MO" and "LP" parameter values. An unlimited number of lines can be drawn with a given set of line parameters. Figure 9.5 illustrates the two line types. The first is drawn between two points as can be seen by comparing the SPF with the figure. The second and third lines (which are continuations of each other) are drawn from the slope, intercept and x-range. MULPLT.DOC (15-NOV-82) PAGE 9-13 SPECIAL FEATURES Figure 9.5 This figure was constructed with the following Special Feature data file. SPF EXAMPLE 9.5 ..LNMO 1 ..LNLP 3, 177777 ..LNDR 2.0,5.0,6.0,8.0 ..LNMO 2 ..LNDR 0.6666666,1.0,3.0,8.0 ..LNLP 3,177000 ..LNDR 0.6666666,1.0,0.0,3.0 9.8 STANDARD DEVIATIONS Two varieties of Special Features (Standard Deviation Bars and Ellipses) can be used to illustrate the uncertainties of real data points. These Special Features are drawn by the same module that generates the lines described in the preceding section. Various aspects of these features are MULPLT.DOC (15-NOV-82) PAGE 9-14 SPECIAL FEATURES defined in Figure 9.6. Figure 9.7 illustrates these constructions. Figure 9.6 As can be seen by SPF for Figure 9.7 the selection of these features is made with the "..LNMO" command line with MODELN = 3(bars) or 4(ellipses). The parameters common to all Standard Deviation Special Features are set with the following command. ..LNEL rrr ... , sss ... , nnn ... 9.15 where "rrr ... " is the half length (bx in Figure 9.6) of the bars at the ends of the x-standard deviation bar and the vertical bar of the cross in the middle of the standard deviation ellipse; "sss ... ", the half length (by in Figure 9.7) of the horizontal bars at the end of the y-standard deviation bar and the horizontal bar of the cross in the center of the ellipses; and "nnn ... " is the number of segments used to draw each quadrant of the standard deviation ellipses. The data points to be drawn with the Standard Deviation indicators are located on an SPF line with the following format. ..LNDR xxx ... , yyy ... , uuu ... , vvv ... 9.16 MULPLT.DOC (15-NOV-82) PAGE 9-15 SPECIAL FEATURES where "xxx ... " is the x-coordinate of the data point, "yyy ... the y-coordinate, "uuu ... " the uncertainty (dx in Figure 9.6) in the x-coordinate, and "vvv ... " the uncertainty (dy in Figure 9.6) in the y-coordinate. Figure 9.7 SPF EXAMPLE 9.7 ..LNMO 3 ..LNEL.1,.2,50 ..LNDR 1.0,2.0,0.5 ,0.75 ..LNDR 3.0,3.0,0.75,0.5 ..LNDR 5.0,4.0,0.2 ,0.7 ..LNDR 7.0,3.0,0.7 ,0.2 ; ..LNMO 4 ..LNDR 2.0,5.0,0.5 ,0.75 ..LNDR 4.0,8.0,0.75,0.5 ..LNDR 6.0,7.0,0.2 ,0.7 ..LNDR 8.0,8.0,0.7 ,0.2 MULPLT.DOC (15-NOV-82) PAGE 9-16 SPECIAL FEATURES 9.9 SOLID ARROWS A wide variety of solid arrows can be drawn by this Special Feature as illustrated in Figure 9.8. This feature consists of a solid arrow with two, one, or no heads and a SYMPLT graphical construction centered in the feature. This feature is created and controlled with the "..SAtt" command lines as listed in the WIZARD'S MENU. The solid arrow is drawn between the point (SABEG(1),SABEG(2)) and the point (SAEND(1),SAEND(2)). The attendant directionality is significant in the definition of the parameters MODSA2, THETA1, and THETA2. Note that all the examples in Figure 9.8, 9.9, and 9.10 are of the same length. Figure 9.8 Figures 9.9 and 9.10 illustrate several constructions that permit the combination of solid arrow segments. Figure 9.9 illustrates how various sides can be left undrawn, again convenient for the composite structures such as found in Figure 9.11. MULPLT.DOC (15-NOV-82) PAGE 9-17 SPECIAL FEATURES Figure 9.9 Figure 9.10 shows how the end segments of the MODSA1 = 1,2 constructions can be rotated relative to the axis of the arrow. This facility is convenient in the fitting together of segments as in Figure 9.12. MULPLT.DOC (15-NOV-82) PAGE 9-18 SPECIAL FEATURES Figure 9.10 The definition of the size parameters are shown in Figure 9.11. MULPLT.DOC (15-NOV-82) PAGE 9-19 SPECIAL FEATURES Figure 9.11 The SYMPLT symbol construction ("STRING" in Figures 9.8 ... ) for the Solid Arrow Special Feature is drawn with the current symbol parameters as specified by "..SYtt" command lines . The string drawn is stored in the internal SYMPLT display list buffer discussed in the Symbol Special Features Section. Figure 9.12 illustrates both how combinations of solid arrows can be made as well as the procedures to create solid arrows. MULPLT.DOC (15-NOV-82) PAGE 9-20 SPECIAL FEATURES Figure 9.12 SPF EXAMPLE 9.12 ..SYNS ..SASZ0.4,0.2,0.3 ..SALP3,177777 ..SASZ.2,.1,.15 ; ..SACO1.0/PH,2.0,1.0,1.0 ..SYNS@@'SB:[10,10]ROMSIM.SYM'S1 ..SAAN-45.0 ..SAMO1,1 ..SADR ; ..SACO1.0,2.0,3.0,2.0 ..SYNS@@''S2 ..SAAN45.0 ..SAMO2,5 ..SADR ; ..SACO3.0,2.0,3.2828,2.0 ..SYNS@@''S3 ..SAAN0.0,0.0 ..SAMO2,15 ..SADR ; ..SACO3.1414/OR,2.1 MULPLT.DOC (15-NOV-82) PAGE 9-21 SPECIAL FEATURES ..SACO3.1414,2.1,45.0/PA,2.0/PR ..SYNS@@''S4 ..SAAN45.0 ..SAMO1,1 ..SADR ; ..SACO3.1414/OR,1.9 ..SACO3.1414,1.9,-45.0/PA,2.0/PR ..SYNS@@''S5 ..SAAN-45.0 ..SAMO1,1 ..SADR ; ..SACO3.2828,2.0,6.0,2.0 ..SAAN0.0,0.0 ..SAMO1,1 ..SADR 9.10 ARROWS The Arrow Special Feature generates arrows from a point (ARBEG(1),ARBEG(2)) to a point (AREND(1),AREND(2)) as specified with the "..ARCO" command. The head of the arrow points toward the end of the arrow. The line parameters of the arrow are controlled with the "..ARLP" and "..ARNB" command lines. The arrow head size parameters are defined in Figure 9.13. Figure 9.13 The currently available arrow heads are shown in Figure 9.14 along with the associated character used to identify the arrow head type. MULPLT.DOC (15-NOV-82) PAGE 9-22 SPECIAL FEATURES Figure 9.14 The type of arrow head is selected with the following command line. ..ARAH@sss ... a 9.17 where "sss ... " is a SYMPLT Library Specification (See SYMPLT.DOC) containing the desired arrow head, and "a" is the character associated with that symbol. In most cases, the internal library ARROWHD will suffice and is selected as follows. ..ARAH@0A 9.11 DIMENSIONS The Dimension Special Feature consists of two dimension delimiter bars (lines perpendicular to the direction of the distance being dimensioned), two arrows, and a SYMPLT graphical construction used for the "dimension". The dimension goes from the point (DMBEG(1),DMBEG(2)) to the point (DMEND(1),DMEND(2)). Figure 9.15 illustrates how the various components can be placed. MULPLT.DOC (15-NOV-82) PAGE 9-23 SPECIAL FEATURES Figure 9.15 Figure 9.16 illustrates the user control over the size of the delimiter bars. Figure 9.16 The Dimension specific parameters are controlled with the "..DMtt" command lines. The attributes of the arrowhead and shaft are controlled with the "..ARtt" command lines. The SYMPLT graphical construction ("STRING" in the above examples) MULPLT.DOC (15-NOV-82) PAGE 9-24 SPECIAL FEATURES is controlled with the "..SYtt" command lines. 9.12 ARCS An arc can be drawn counter clockwise from an angle of ACBEG (degrees) to an angle of ACEND (degrees) with a radius of ARCRAD to the point (ARCORG(1),ARCORG(2)). The angles are relative to the positive x-axis. The arc Special Feature is controlled by the "..ACtt" command lines described in the WIZARD'S MENU. 9.13 CIRCULAR DIMENSIONS Circular Dimensions are not working. CHAPTER 10 DEBUGGING AIDS Several debugging aides are available to the user. These will often help in understanding what is happening when MULPLT is behaving in an unexpected manner, such as no points being plotted when there should be. In general, these aides can be controled in two ways. The first way is synchronous and uses the "LT n" command for the P or F phases. The second way of controlling the debug features is asynchronous. Table 10.1 is a short compilation of the controls for these features. TABLE 10.1 ASYNCHRONOUS CONTROLS ACTIVATE DEACTIVATE FEATURE Abort PDL input, scanning, or plotting Diagnostic dump during data load Dump windowed points to FOR013.DAT List PDL as being loaded 10.1 DURING PDL LOADING While a set of PDL is being loaded from a file in response to a "NP", "AP" commands or a PDL file specification on the MCR line that envoked MULPLT, only lines beginning with "; " are listed on TI:. With MULPLT generated PDL files, this shows the user the date of creation of the PDL and the number of MULPLT.DOC (15-NOV-82) PAGE 10-2 DEBUGGING AIDS data sets included. In addition, the complete PDL can be listed on TI: as it is loaded. This facility is activated asynchronously with a and deactivated with a . When activated, each line is listed as read on TI: 10.2 DURING DATA LOADING Files containing data sets for MULPLT are read during the SCAN and PLOT phases. Various information can be obtained during the loading of the data points during these two phases. All of these debugging features are activated/deactivated together. There are two mechanism controlling these features. First, "LT1" activates the following debug listings. This activation remains in effect until either MULPLT returns to the P or F-phase or until a is typed during the PLOT or SCAN phases. The second mechanism is asynchronous and controlled by the (activate) and the (deactivate). These can be typed anytime and as many times as desired during the SCAN and PLOT phases. When this feature is activated, the following reports are output to TI: at the appropriate moments during data processing. 1. After record input As each record is input from the data set file, the record is echoed as read in the following format. LA-> ttsss ... (Coded Files) LA-> tt nnnn (Binary Files) rrr ... uuu ... vvv ... ... . . . where "LA" indicates the type of debug report, "tt" is the first two bytes of the line(record) i.e. the tag, "sss ..." represents the remaining characters on the coded line, "nnnn" is the number of bytes in the binary record, "rrr ... " is the first real element of the record, "uuu ... " is the second real element of the record, and "vvv ... " is the third real element, etc. 2. After decoding The next report is issued after the record is decoded. The format of this report is shown by the following. LB-> tt xxx ... yyy ... MULPLT.DOC (15-NOV-82) PAGE 10-3 DEBUGGING AIDS LB-> tt xxx ... yyy ... xxx ... yyy ... LB-> tt yyy ... LB-> tt yyy ... yyy ... yyy ... where "LB" indicates that this line is reporting the data after decoding, "tt" is the tag for the line, "xxx ... " and "yyy ... are the decoded real coordinates of the data point(s). The actual form will depend on whether the user has selected one or more data points per line and the x-y or the incremental mode of data presentation for the data set. 3. After transforming The next report comes after the data point(s) have been transformed by the appropriate scale factors and offsets, and by the appropriate linear, reciprocal, or logarithmic function. The form of the report follows. LC-> xxx ... yyy ... where "xxx ..." and "yyy ... " are the coordinates of the scaled, offset, and transformed data point(s). 4. After Windowing LD-> xxx ... yyy ... where "xxx ..." and "yyy ... " are the coordinates of the scaled, offset, and transformed data point(s). 10.3 DURING SPECIAL FEATURES PC-1: n i j k l rrr ... where "n" indicates whether this is the first or second point on the line being processed, "i" is 0 if this is an x-coordinate and 1 if a y-coordinate, "j" is the coordinate type of the input, "k" is the data space, "l" is a logical variable indicating if this point is a new origin, and "rrr ... " is the value of the coordinate as input. After all points of the set are processed, the following report is issued PC-2: n rrr ... uuu ... vvv ... www ... aaa ... bbb ... ccc ... ddd ... MULPLT.DOC (15-NOV-82) PAGE 10-4 DEBUGGING AIDS where "n" is the point being processed, "rrr ... " is the x-coordinate of the processed point, "uuu ... " is the y-coordinate of the processed point, CHAPTER 11 EXCEPTIONS There are two classes of errors encountered in the operation of MULPLT. The first contains those errors detected by MULPLT and the associated routines. The second class of errors contains all other errors and are (hopefully) detected by FORTRAN OTS or RSX-11M. The second class of errors is discussed in the DEC documentation and will not be covered in this document. The MULPLT detected error are reported on LUNEL by the routine ERRPRT and have the following general form. ERROR mmmmmmmm:eeeeeeeeeeeeeeee nnn nnn ... 11.1 ?-> sss ... 11.2 where "mmm ... is the name of the module detecting the error, "eee ... is the error message for that error, and "nnn" are additional octal arguments associated with error reporting for that module. In many of the error reports the line 11.2 is also included. For those lines "sss ... " will be the input line which caused the error. The following is a list of the MULPLT modules along with a description of the function of the module, a list of errors, and further discussion of the meaning of each error. 1. ARC - DRAW A CIRCULAR ARC 2. ARROW - DRAW A ARROW 3. CIRDIM 4. DIMEN - Construct linear dimensions 5. MPAPNT - Plot data points with individual annotations 1. "BAD COORDINATE " - THE x- or y-coordinate could not be decoded. 6. MPDUMP - Dump the PDL to TI: or file. 1. "OPENING DUMP FIL" - Could not open file to receive MULPLT.DOC (15-NOV-82) PAGE 11-2 EXCEPTIONS PDL. 2. "NON EXIS DAT FIL" - A "LI m,n" command requested the listing of an non-existent data set. 7. MPFILE - Initialize a data set and data set file for input in the SCAN or PLOT phases. 1. "OPENING BINRY DF" - Could not open requested binary data file. 2. "OPENING CODED DF" - Could not open requested coded data file. 3. "NO DATA FILE " - There are no data sets defined. 4. "ILLEGAL SPACE " - A data space other than 1 or 2 was specified. 8. MPINIT - Lay out plot surface, draw axes and titles. 9. MPLOAD - Load a buffer of data points for scanning or plotting. 1. "READING DATA " - Could not read next line(record). 2. "DECODING DATA " - Could not decode input line. 10. MPPLOT - Set up a data set for plotting. 1. "NON EXIST FILE" - Requested data set does not exist. 11. MPPLTD - Plot a buffer of data points. 12. MPREAD - Session initilization, P and F phase input. 1. "OPENING PDL FILE" - Could not open file for PDL input. 2. "READING P-PH CMD" - Error inputing line(record) of PDL. 3. "ILLG P-PH TAG 1 " - Illegal P-phase primary command tag. 4. "ILLG P-PH TAG 2 " - Illegal P-phase secondary command tag. 5. "DECODING PARAM " - Could not decode parameters in MULPLT.DOC (15-NOV-82) PAGE 11-3 EXCEPTIONS PDL line. 6. "ILLG F-PH CMD " - Illegal F-phase command tag. 7. "NEED A DATA FILE" - Referenced data set is not defined. 8. "TOO MANY DAT FIL" - Tried to define 11'th data set. 9. "NON-EXIS DAT FIL" - Tried to reference a non-existent data set. 10. "ILLG PDL NESTING" - Level 2 PDL file has an "AP" or "NP". 11. "IN SPAWNING " - Directive to spawn another task was not successful. 12. "READING PDL FILE" - Error while reading record from PDL file. 13. MPROOT - Root section for MULPLT. Calls appropriate overlays. 14. MPSCAN - Scans data sets for extrema. 1. "NON-EXIST FILE " - Referenced a data set that is not defined. 15. MPSPAS - Generate Special Features axes and symbol constructions. 16. MPSPDF - Set Special Feature parameters to default values. 17. MPSPFT - Input Special Features line and call appropriate overlay. 1. "READING SPF LINE" - Error while inputing Special Features line. 2. "ILLEGL SPFT TAG2" - 18. MPSPIN - Decode Special Features line. 1. "READING SPF LINE" - 2. "DECODING " - Could not decode Special Features line. 3. "ILLEGL SPFT TAG3" - Illegal tertiary Special Features tag. MULPLT.DOC (15-NOV-82) PAGE 11-4 EXCEPTIONS 4. "CHAR BUF OVRFLOW" - Too many characters for symbol buffer. 19. MPSPLD - Construct Special Feature lines and standard deviation features. 1. "ILLEGAL MODELN " - Illegal line mode. 2. "DECODING " - Cannot decode "..LNDR" line. 20. MPSYBX - Special feature routine for drawing box around symbol construction. 21. MPTFM0 - Transform coordinate from raw to plot to physical space. 1. "ILLEGAL RECIPR " - Cannot take reciprocal of coordinate. 2. "ILLEGAL LOG " - Cannot take logarithm of coordinate. 22. MPTFM1 - Transform coordinate from Physical to Plot to Raw data space. 23. PARSCO - Parse Special Feature coordinate line. 1. "DECODINGNUMBER " - Cannot decode coordinate. 2. "ILLEGAL SWITCH " - Illegal switch in coordinate line. 3. "ILLEGAL POLAR CO" - Illegal polar coordinate. 24. SARROW - Construct solid arrows. CHAPTER 12 BUILDING MULPLT Thus far, MULPLT has been run on a PDP 11/23, PDP 11/34, PDP 11/40, and a PDP 11/70 using FORTRAN IV, FORTRAN IV PLUS, and FORTRAN 77. The distribution kit provides many indirect command files to build MULPLT. However the user may have to alter some of these and/or do some thing manually to conform to his installation. 12.1 DISTRIBUTION KIT The MULPLT distribution kit contains the following UICs of information. [1,102] SYMPLT symbol library sources. These libraries are derived from the Hershey Library of Occidental Fonts. [1,103] MULPLT documentation sources. This directory contains the RUNOFF source files for this and other documents describing MULPLT and supporting programs. [1,104] MULPLT documentation graphics sources. This directory contains the PDL, SPF, and DAT files used to produce the figures in this and other documents describing MULPLT and supporting programs. [1,105] VCOPY, PCOPY, and VERSLIB sources. Requires VERSAPLOT license. [1,106] MSULIB sources [1,107] MULPLT sources. [1,110] PCOPY sources for PCOPY with QMG support. Requires VERSAPLOT license. MULPLT.DOC (15-NOV-82) PAGE 12-2 BUILDING MULPLT 12.2 BUILDING MULPLT AND SUPPORT PROGRAMS 1. The command files used in building MULPLT use the following logical devices for convenience. These logical devices can be assigned to the appropriate physical devices manually before beginning the building procedure. This approach is preferred when extensive development and debugging is to be done since the assignments need be made only once. Otherwise, the identification of the physical devices and the assignments will be done by the command procedures MSULIB.CMD and MULPLT.CMD. SY: The device that contains the FORTRAN sources and command files. SR: The device that contains the MACRO sources. FT: The device that will receive the intermediate FORTRAN files and other intermediate files. LS: The device that will receive the listings and maps. OB: The device that will receive the object files, object libraries, and the tasks. 2. Create the appropriate version of the subroutine VECTOR to support the graphics devices to be supported in MULPLT. For more information see VECTOR.DOC and the sample VECTORs supplied with the MSULIB distribution kit. 3. If Versatec or Printronix support is to be included, create VERSLIB.OLB using [1,104]VPPHASE1.CMD. 4. If Versatec support is to be included, build PLTCOM.TSK with [1,106]PLTCOMBLD.CMD. 5. Create MSULIB.OLB using [1,106]MSULIB.CMD. Move MSULIB.OLB to SY:[1,107]. 6. Build MULPLT using [1,107]MULPLT.CMD. 12.3 Installing MULPLT 1. Move MULPLT.TSK to LB:[1,54] and do one of the following. 1. INS LB:[1,54]MULPLT/TASK=...MUL MULPLT.DOC (15-NOV-82) PAGE 12-3 BUILDING MULPLT 2. Insert one of the following two entries into SYSCCL.CCL The first is the choice for RSX-11M Version 3.2. The second is the choice for RSX-11M Version 4.0. $3600MULPLT *RUN LB:[1,54]MULPLT/PRM="%A%"%$ $3600MULPLT *RUN LB:[1,54]MULPLT/CMD="MUL %A%"%$ 2. Move the symbol libraries into SB:[10,10] where SB: is an appropriate disk and perform the following assignment. ASN/GBL ddnn:=SB: where ddnn: is the disk containing the symbol libraries. 3. If one terminal(TTn:) will be the primary graphics terminal, do the following. ASN/GBL TTn:=GT: MULPLT.DOC (15-NOV-82) PAGE 12-4 BUILDING MULPLT 12.4 Logical Unit utilization TABLE 12.1 Logical Units LUN Variable Use 1 VDATA.BIN output 2 LUND Data input 3 LUNGRP Graphic output 4 LUNDP Dump PDL 5 LUNTI User dialog LUNEL Error messages 7 LUNVLT 8 9 10 11 12 13 LUNDAT Dump windowed data points 14 LIBLUN Symbol library input 15 LUNPD1 Level 1 PDL input 16 LUNPD2 Level 2 PDL input CHAPTER 13 INDEX . . . . . . . 3-7 ANNOTATED POINTS . . . 7-7, 9-10 ARCS . . . . . . . . . 9-24 ARROWS . . . . . . . . 9-21 ARROWS, SOLID . . . . . 9-16 ASYNCHRONOUS CONTROLS . 10-1 AXES . . . . . . . . . 2-7, 6-1, 9-7 AXIS FEATURES . . . . . 6-4 AXIS FEATURES, DISABLING 6-4 AXIS, DISABLING . . . . 5-9 BAR GRAPHS . . . . . . 7-6 BARS . . . . . . . . . 9-13 BOXES . . . . . . . . . 9-9 BUILDING MULPLT . . . . 12-1 COMMAND ORDERING . . . 2-15, 9-2 COMMAND STRUCTURE . . . 4-1 CONTROL CHARACTERS . . 2-2, 3-8 COORDINATES, ABSOLUTE . 9-3 COORDINATES, INCREMENTAL 9-3 COORDINATES, RELATIVE . 9-3 COUPLING AXES TO DATA SPACES 5-3 CREATION TIME/DATE . . 3-4, 8-1 DATA FILES . . . . . . 2-2 DATA FILES, BINARY . . 4-4 DATA FILES, CODED . . . 4-3 DATA RECORD STRUCTURE . 4-1 DATA SET, DELETION . . 3-6 DATA SPACE . . . . . . 1-2, 9-5 DATA SPACE, ASSIGNING DATA POINTS TO 5-3 DATA SPACE, PHYSICAL . 5-1 DATA SPACE, PLOT . . . 5-1, 9-7 DATA SPACE, RAW . . . . 5-1, 5-3, 9-7 DATA SPACES . . . . . . 9-2 DATA SURFACE . . . . . 6-2 DATA TAGS . . . . . . . 2-2 DEBUGGING . . . . . . . 10-1 DEFAULT FILE TYPE . . . 2-16, 2-20, 3-3, 3-4, 3-7 MULPLT.DOC (15-NOV-82) PAGE 13-2 INDEX DEFAULT TABLE . . . . . 2-21 DEFAULTS . . . . . . . 9-2, 9-4 DIMENSION . . . . . . . 9-22 ELLIPSES . . . . . . . 9-13 ENVOKING MULPLT . . . . 3-2 ER . . . . . . . . . . 3-9 ERASE GT: . . . . . . . 3-9 EXITING MULPLT . . . . 2-19 F-PHASE . . . . . . . . 2-12, 3-6 FILTERS . . . . . . . . 5-8 FORMAT, DATA . . . . . 4-3 FORMAT, DATA FILE . . . 2-2, 4-2, 9-1 FORMAT, FORTRAN . . . . 2-10, 4-2 FORMAT, FREE . . . . . 4-3 FORMAT, PDL . . . . . . 4-1 FORMAT, SPECIAL FEATURES FILE 9-1 FORMAT, TICK LABEL . . 2-10 FORMAT, TICK LABELS . . 6-3 FREE FORMAT . . . . . . 2-5, 4-2 GE . . . . . . . . . . 3-9 GO . . . . . . . . . . 3-9 GRAPHIC DEVICES . . . . 3-9 GT: . . . . . . . . . . 3-3, 3-9, 12-3 HARD COPIES . . . . . . 2-19 INCREMENTAL MODE . . . 4-2 INDIRECT COMMAND FILE . 3-12 INITIALIZATION PHASE . 3-2, 9-8 LINE PLOTS . . . . . . 2-13, 7-3 LINES . . . . . . . . . 9-12 LOGARITHMIC PLOTS . . . 5-6 MSULIB . . . . . . . . 12-1 MULPLT DISTRIBUTION KIT 12-1 MULPLT, BUILDING . . . 12-1 OFFSET, GLOBAL . . . . 5-6 OFFSET, LOCAL . . . . . 5-3 OFFSET, SUPREME GLOBAL . 5-7 ORIGIN, LOCAL . . . . . 9-4 P-PHASE . . . . . . . . 3-5 PARAMETER GLOSSARY . . 2-21 PARSCO . . . . . . . . 9-3, 9-7 PCOPY . . . . . . . . . 12-1 PDL . . . . . . . . . . 1-2, 2-16, 2-18, 3-4, 3-6, 3-7, 3-12, 4-1, 9-8 PDL, DUMPING . . . . . 2-16, 3-6 PDL, INTERNAL . . . . . 3-4 PDL, LISTING . . . . . 2-16, 3-6 PDL, RESTORING . . . . 2-20, 3-4 MULPLT.DOC (15-NOV-82) PAGE 13-3 INDEX PHYSICAL SURFACE . . . 6-2 PLOT EDITING . . . . . 2-15 PLOT PHASE . . . . . . 3-9 PLOT SPACE . . . . . . 3-8 PLOT SURFACE . . . . . 6-2 PLOTS, LINEAR . . . . . 5-6 PLOTS, LOGARITHMIC . . 5-6 PLOTS, RECIPROCAL . . . 5-6 POINT PLOTS . . . . . . 2-13, 7-2 POLAR COORDINATES . . . 9-4 PRIMARY SYMBOLS . . . . 9-12 PRIMARY TAG . . . . . . 4-1 RECIPROCAL PLOTS . . . 5-6 SB: . . . . . . . . . . 9-6, 12-3 SCALING, GLOBAL . . . . 5-6 SCALING, LOCAL . . . . 5-3 SCALING, NIBS . . . . . 6-3 SCALING, SUPREME GLOBAL 5-7, 6-3 SCAN PHASE . . . . . . 3-8, 3-9 SECONDARY TAG . . . . . 4-1 SESSION INITIALIZATION . 3-2 SI-PHASE . . . . . . . 3-2 SOLID ARROWS . . . . . 9-16 SPECIAL FEATURE FILE . 9-2 SPECIAL FEATURES . . . 3-12, 4-2, 8-2, 9-1 SPF . . . . . . . . . . 9-2, 9-6, 9-8 STANDARD DEVIATION FEATURES 9-13 SYMBOL LIBRARY . . . . 8-1, 9-11, 9-22 SYMBOL PARAMETERS . . . 2-11, 7-8, 8-1, 9-5, 9-7 SYMBOL PLOTS . . . . . 2-13, 7-4 SYMBOLS . . . . . . . . 9-5 SYMBOLS, PRIMARY . . . 2-13, 7-4, 7-6, 7-7, 8-1 SYMBOLS, SECONDARY . . 2-14, 7-2, 7-3, 7-4, 7-6, 8-1 SYMPLT . . . . . . . . 8-1, 9-5, 9-16, 9-22, 12-1 SYMPLT DISPLAY LIST . . 9-5, 9-19 SYMPLT SYMBOL LIBRARY . 9-8 TAGS . . . . . . . . . 9-1 TERTIARY TAG . . . . . 4-1 TI: . . . . . . . . . . 3-3 TICK MARK LABELS . . . 2-9, 8-1 TICK MARKS . . . . . . 2-8 TITLES . . . . . . . . 2-10, 6-1, 8-1 TRANSFORMING DATA POINTS 5-6 UNCERTAINTIES . . . . . 9-13 VCOPY . . . . . . . . . 12-1 VECTOR . . . . . . . . 12-1 VERSLIB . . . . . . . . 12-1 WINDOWING . . . . . . . 5-8 WIZARD'S MENU . . . . . 2-21, 3-7, 4-2, 9-2, 9-3, 9-5, 9-24 MULPLT.DOC (15-NOV-82) PAGE 13-4 INDEX