TAB_PLOT version 2.9 10-92 written by Robert Best Aragon 1, NL 3831 ET Leusden, bitnet RWBEST@SARA.NL What's new recently? Makes skew XYZ plots. Swaps X- and Y-axes in XYZ plots. What does TAB_PLOT? TAB_PLOT converts a number table, contained in the output file of another program, into a XY, Rè, XYZ or RèZ plot. Automatic (log)scaling, spline interpolation, curve fitting, hidden surface, contour plot, plot sizing and PostScript output are included. TAB_PLOT does not make bar graphics or pie charts. To see how it works, run TAB_PLOT.PRG and select example TABLEXY; a plot will appear under a menu bar. Try a few items. Quit is the last menu item. If TAB_PLOT.TXT (this file) is selected, TAB_PLOT asks 'XY or XYZ plot?'. Click on XY and type [Return] to see this file again. Use the arrow-down key to find the table below and select (arbitrarily) columns for X and Y. The same table in TAB_PLOT.TXT can be used to plot a curve in XYZ space by selecting 'XYZ'. Try 'Spline'. With TABLEXYZ, XYZ and RèZ plots can be made in 3-dim. or contour if you select 'XYZ' and 'surface'. There are 3 initial plot types: XY-curve, XYZ-curve and XYZ-surface. Use 'Next' if you have the wrong one. From an initial plot you may proceed to Rè-curve, RèZ-curve, RèZ-surface and XYZ- or RèZ-contour plots. There are 2 ways to plot >1 curves in a XY plot. Use 'Columns' if all curves are defined by common X values, use 'More' if they are not. Initial plot TAB_PLOT counts rows and columns of the table. If it has just 2 columns, like TABLEXY, the first is taken as X- and the second as Y-coordinates. If it has more columns, TAB_PLOT asks 'XY or XYZ plot?'. If it has just 3 columns and 'XYZ' is chosen, the first two columns are taken for X and Y values, and the 3rd for Z. Then TAB_PLOT asks 'curve' or 'surface' unless the table does not qualify for a surface plot. If it has >2 (case XY) or >3 columns (case XYZ-surface), TAB_PLOT asks to select columns for X and Y (see 'Columns' below) or for Z ('Z-column'). TAB_PLOT determines the range of X, Y (and Z) values for scaling. The choice between XY and XYZ leads to different sets of menu items. XY menu Most items are evident. Just try. Further information: Rè: takes X values for è and Y values for R. Selectable only if all R values are non-negative. Y2 values (see 'Columns') are ignored. Fit: linear, exp., log. or power fit depending on X and Y (log)scales. Not selectable for Rè curves. Size: in upper left corner in pixels, or in inch/100 for PS print. Click when size is right. Adjust text if necessary. Save: store data of current plot in TAB2PLOT file (see below). Degas: save as Degas file. Does not work properly on TT. Print: screen dump. Does not work on TT. PS: save plot in PostScript for printer or TeX. Xmin: minimum value on X-axis. Must be less than Xmax. Xmin must be positive if Xlog is active. See 'Pi' below. Xdiv: number of divisions along linear X scale. Not selectable if Xlog is active. Xlog: logscale on X-axis. Selectable only if all X values (in the column) and Xmin are positive. Xrev: reverse X scale. Not selectable and inactive if Xlog is on. Xmul: multiply all X values by positive factor. Text: type _ or ^ preceding a character to make it sub- or superscript. See 'Font' below. Text movable: position with mouse and click. Max. 20 texts of 30 characters. Columns: make new plot, one or more curves related to Y1 (left hand Y scale) and zero or more curves related to Y2 (right hand Y scale). Type column numbers for Y separated by any non-number character. Not selectable and inactive after 'More'. Length: make new plot using same but shorter columns. Not selectable and inactive after 'More'. More: plot all tables in the file. 1st column for X, 2nd column for Y. Selectable only and once for 2-column tables. Next: select another table, or another initial plot. XYZ menu Similar to the XY menu. Further information: Contour: The Z-values of the contours are equal to the values along the Z-axis of the 3 dim. plot. Use movable text to label the curves. Not selectable for 'Scenes' or 3-dim. curve plot. RèZ: takes 1st column for R and 2nd column for è. Selectable if all R values are non-negative and 'Scenes' is not active. In addition, all è values should be between 0 and 2ã for a surface plot. Scenes: alternative XYZ surface plot. Not selectable for other plots. Hidden: surface. Not selectable for other plots. Dashed: hidden surface. Not selectable for other plots. Spline: interpolated values are stored to speed up plotting. Using 'Save' and 'Next' the interpolation can be repeated until memory runs out. Project: 3-dim. curves. Not selectable for other plots. Mirror: selectable for surface with Zmin=0. Not for scenes. Skew: XYZ plots. Set -1 < Skew < 1. Xrev, Yrev, Zrev, X<->Y: to get 16 views at an XYZ curve or surface. X<->Y is not selectable for contour plots. Z-column: new plot using other Z values. Selectable if the table has more than 3 columns for surface plots. Pi Numbers along axes (linear scales) are divided by ã if the lower or upper bound is specified as a multiple of ã/4 using >2 decimals. Font Corresponds to standard postscript fonts. To get Greek letters, type backslash \ followed by a alpha A Alpha j phi1 J theta1 s sigma S Sigma b beta B Beta k kappa K Kappa t tau T Tau c chi C Chi l lambda L Lambda u upsilon U Upsilon d delta D Delta m mu M Mu v omega1 V sigma1 e epsilon E Epsilon n nu N Nu w omega W Omega f phi F Phi o omicron O Omicron x xi X Xi g gamma G Gamma p pi P Pi y psi Y Psi h eta H Eta q theta Q Theta z zeta Z Zeta i iota I Iota r rho R Rho Number table Example ======= 0 1.1 0.027324 1 1.9415 0.082085 2 2.0093 0.2019 text 3 1.2411 0.40657 4 0.3432 0.67032 5 0.14108 0.90484 6 0.82058 1 7 1.757 0.90484 8 2.0894 0.67032 9 1.5121 0.40657 10 0.55598 0.2019 === Constraints on the form are minimal, but note the following. Numbers in a row must be separated by spaces or tabs (ASCII 32 or 9). A row of numbers must be terminated by ASCII 13 because TAB_PLOT uses this to count the rows. A row of numbers may be preceded or followed by text and other characters, but a dot, digit or minus sign is assumed to start a new row of numbers. TAB_PLOT scans (the first 10 kB of) the file for a table header ===. If it finds ===, everything preceding it is ignored like in this file. TAB_PLOT looks again for === at the end of the table and ignores everything below that, unless 'More' is selected. The form of the XYZ (or RèZ) number file has some additional constraints. The first two columns must contain the X- (or R-) values and the Y- (or è-) values. Moreover, in a file for a contour plot or RèZ plot, from top to bottom the X- or R-values must vary like a saw-tooth and the Y- or è-values like a step function (see TABLEXYZ). A TAB2PLOT or TAB3PLOT file, created by 'Save', is a special number table to store and retrieve a plot for further work. Remove the first line if you edit this kind of file. PostScript The PS print differs slightly from what you see on the screen. The font is smaller and proportional. The quadrangles in XYZ or RèZ plots are drawn with thinner lines and clipped at oblique X and Y axes or at the elliptic base curve. GFABASIC enables clipping only at rectangles on the screen.