IPLOT Hints and "Hidden" Features

Below is a listing of some of the "hidden" features of megaplot (aka iplot), and hints on some of the more convoluted options.

0. Note:
Throughout IPLOT, user input is not case sensitive, (with one exception: see item 3.2 below).

0.1 [Main input level]
Entering i will reveal the prompt, "Do you really want to label the points? (y/n)". This can be used to write the ID next to each point in an already existing plot. Note: this should only be used with a small number of data points.

0.2 [Main input level]
Entering "=" will print mean and rms values of the current X,Y plotting arrays, then mark the mean on the plot.

0.3 [Main input level]
Entering "+","|","-", or "/" will draw vertical/horizontal/diagonal axis lines.

0.4 [Main input level]
Entering "#" will redraw the frame, (useful if a polygon shade has overwritten the axes with a different color).

0.5 [Main input level]
Entering "~" will replace the id array values with the negative of the current values, (useful for variable-color polygon shading, see item 3.6).

1. New_data >
How many header lines? Entering a negative number will reveal a new prompt for NSKIP, NKEEP: Nskip is how many header lines to skip. Nkeep is how many records, starting with nskip+1, to be read.

1.1 If NKEEP is negative, instead of reading in that many records, every nkeep'th record will be read, (e.g., NKEEP=-2 will read in every other record).

2. New_data > . (options) > Modify
The function parser now understands i as a valid array indicator, pointing to the ID array. This way you can read in data with no ID column, (ID will then be the sequential record number from the file), and then transfer the values of ID into another plotable array (like z).

2.1 New_data > . (options) > Modify
The function parser now understands the "constant" ran, a random number between 0 and 1, initialized using the value of system time. This is useful for adding "fuzz" to quantized data for nicer plots.

3. Symbol > Enter symbol index:
Entering N*100+desired_index will change the color of the symbol, N from 1 to 15, (15=erase). E.g., symbol=204 will produce a green open circle.

3.1 Symbol > Line index:
Same as with symbol above, entering N*100+desired_index will change line color to color N; e.g., line=702 will produce a dashed orange line.

3.2 Symbol > Enter symbol index:
Entering a negative index will reveal the prompt: *** Variable symbol size/color. *** Use which array as symbol size/color? (x,y,z,u,v): *** (lowercase for size, uppercase for color) At which point an array can be used to yield symbols which vary in either size or color proportional to the values in the given array. Size values should range from 0 to roughly 5 or so. Colors should range from 0 to 15 unless a color map has been defined (see * > Color > Map), in which case the values should range from 0 or 1 to MAXCOL. (Default: 0 = erase.)

Also, negative values in the color array will invoke a special mode for plotting in which the symbol is plotted using the absolute value of the symbol index, but afterward it is plotted using the color corresponding to the absolute value of the array value. This can produce two effects, a symbol with a different colored "trail", or an animated symbol, i.e. the trail color is "erase" (-16). The speed of the animation can be controlled with the ISLEEP parameter under Etc > Params.

3.3 Symbol > Line index:
You don't have to choose just 0 or 1 here. You can use the same indices allowed under Etc > Line_attrib > Linestyles, i.e. 1 through 5, to get solid, dashed, dotted lines, etc.

3.4 Symbol > Line index:
Entering a negative line index will use the values stored in the ID array to be used as pen_up and pen_down (0 and 1, respectively). This allows a single buffer to draw several unconnected curves, such as in a contour map.

3.5 Symbol > Line index:
Entering a "?" will list the line types.

3.6 Symbol > Line index:
Entering a negative value for one of the polygon fill types (-6,- 7,- 8, -9) AND having negative id array values will cause the polygon shading to be in the same array-specified color as assigned with a negative symbol index. That is, also specify symbol=-1 when using variable-color polygon shading.

4. Trim > Box_cut > Keep points that are Inside or Outside? (I/O)
Entering a + will cause an automatic trimming, keeping all points within the plot window limits. This is a way to trim outliers from within a non-interactive script, (i.e. no graphical cursor needed).

5. More > Merge
Normally, merge uses the ID numbers of two stored buffers, say 1 and 2, to match the data in the two buffers and merge them into the current buffer. The first-listed buffer takes priority if an array column (x,y,z,u,v) is non-empty in both, i.e. you lose the data in z of buffer 2 if z of buffer 1 is non-empty. Often you want to take differences of array values between two buffers, (i.e., x and y in buf 1 minus x and y in buf 2). This you can do by entering a negative buffer number; e.g., entering 1 -2 will yield a working buffer with x=x1-x2, y=y1-y2, etc.

6. Etc > Switches
The "Hide tics & labels" switch doesn't seem to always work after a change in the viewport. You can get around this by setting switches 8 through 11.

7. Etc > Text > X-hair
Entering a "." will select the nearest existing text item and allow you to graphically reposition it by clicking at the desired new location.

7.1 Etc > Text > X-hair
If the character entered from the keyboard is "|", "/", "\", or "!", then the text will be automatically rotated by 90, 45, 315, or 270 degrees. (The 90-degree mode can be used to place a y-label further from the label number markers, when the vertical y-label switch is being used.) Alternatively, entering a "<" at this prompt, will allow you to enter an arbitrary rotation angle for the text string.

7.2 Etc > Text > Modify
Entering a non-existing text item number will allow you to add in a new item non-graphically, e.g., from a script file. Note: entering a negative value for the size will reveal the hidden prompt: OK, enter the rotation: ( |, /,... ) allowing you to non-graphically enter rotated text items.

7.3 Etc > Text > X-hair or Modify > text size:
Text color can be specified, 1 through 15, as with the symbol index, by adding N*100 to the size. E.g., size=201.5 will produce green text of size 1.5.

7.4 Etc > Text > X-hair or Modify > Enter text:
If the text includes the string $N$ where N is from 1 to 11, then the symbol with index N will be drawn; e.g., "$2$ = observed" will produce text similar to "+ = observed". This is useful for legends.

7.5 Etc > Text X-hair or Modify > text size:
Entering a size=0.0 will cause the text not to be displayed.

8. * > Read_file > Enter the input *.IPLOT filename:
If the stored iplot file was generated by a different computer system, e.g., pc-linux versus Sun unix, the data in the file will not be read properly because of byte-order issues. Try using a "-" in front of the iplot filename to force byte-order swapping, e.g., "-sample.iplot"

9. Axes > EX or EY
If the values of the errors are negative, short crossbars will be added to the ends of the error bars.

9.1 Axes > Factor (using DX and DY)
If the value of the factor is negative, arrowheads will be added to the ends of the vectors. Use symbol size to control the size of these.

10. Plot > User
If you specify equal low and high range values, it will default to automatic determination of range values. This allows you to specify one axis, and the computer determines the other.

11. Fit > Poly_fit
After giving it the polynomial order, the program prints the least-squares fit coefficients to the screen and prompts for a <RTN> before overplotting the fit curve. If you wish to write the coefficients to an output file as well, instead of entering a simple <RTN> when prompted, enter "o" or "n". You will then be prompted for a file name in which to write the coefficients. (Note that this file must not already exist or you will be prompted for another file name.) The file will remain open and you can add more lines/fits to it by using the "o" response on subsequent fits. Entering "n" will indicate you want to close the existing fit coeffcients file and open a new one.

< iplot home >