Table of Contents
tabzoom - dynamic query table viewer with interactive zoom and action
tabzoom in=table_file [parameter=value]
tabzoom is an
interactive program that displays numeric data from an ASCII table in a
2D plot (see also tabplot(1NEMO)
), while dynamically
querying related columns from the same table, and allowing zooming and
performing an action on a selected point. Dynamic Query (DQ) is an effective
way to visualize an N-dimensional dataset in 2D. Two variables are selected
to be plotted, they can either be directly taken as a column from the
table, or computed via a fie(3NEMO)
expression involving any column, e.g.
Each selected ’column’ can be manipulated using sliders.
Between the min (on the left) and max (on the right) of a column, two
sliders, called lo and hi can be moved around independantly. lo is a lower
limit, and hi the higher limit, for data to be included in the display:
lo < hi MIN-------[lo=======hi]--------MAX
lo > hi MIN=======hi]--------[lo=======MAX
The lo slider can also be moved to the right of the hi slider, as the diagram
shows, in which case the sample will include data between min and hi as
well as lo and max. This is like swapping the lo and hi sliders and corresponds
to negating the logic of the first case.
Finally, only data are displayed
for which the corresponding slider value of all values falls in the selected
range. In SQL language, this means all queries are AND-ed.
Note: in this
prototype the words slider and column can be used interchangebly.
following parameters are recognized in any order if the keyword is also
does everything tabview does, and more. The new interactive commands are
’c’, ’z’ and ’Z’. First create a simple table, and tabzoom it:
- Input table filename. No default.
- col=name1, name2,..
to be named and selected as sliders. The default column names are 1,2,3,...
for ascii tables. The default is that all columns are selected to become
- X-variable to plot. Any fie(3NEMO)
input columns (see col=) can be given. The first extracted column given
by col= is referred to as %1 etc. [Default: %1].
to plot (see xvar=). [Default: %2].
- Range in X from xmin
to xmax [autoscale + 5% edges].
- Range in Y from ymin to
ymax [autoscale + 5% edges].
- Label along the X-axis [default
- Label along the Y-axis [default: ycol]
- A fie(3NEMO)
expression which is used to colorize the particles. Color
will be an integer, 0 being invisible (actually: background color), 1 the
foreground color, and 2,3,4... the colors your graphics device has. [Default:
- Size of points in cm. This is allowed to be a fie(3NEMO)
expression, in terms of other columns. It must evaluate in cm. Default: 0
(dots - this is also the fastest and highly recommended)
- Point type. This is allowed to be a fie(3NEMO)
expression, in terms of
other columns. After evaluation, is is converted to an integer, see yapp(3NEMO)
for valid ptype’s. Default: 0 (a point)
- Filename with
commands to be added to plot? Default: none.
- If given, this program is executed with a command line argument list which
is the complete string that belongs to the selected point. By default no
action is defined.
- Whenever output is requested (the o command,
see below), it is written to this file. Warning: Any previously existing
file will be overwritten. Default: none.
- List of options,
separated by comma’s, that determine the output when out= has been selected.
Valid values are i: the ordinal (1 being the first in the original data)
x,y: the plotted data, data: the original (cols= only) data from the input
table. Note that the order is always i, x, y, data [Default: i,x,y,data]
- Select a level of statistics output at startup of the program.
At the lowest level (0) an overview of the read data is given, including
min, max, mean, dispersion, skewness and kurtosis. At level 1 the Pearson
correlation matrix is given. At level 2 all possible linear regressions
are given. At level 3 at multiple regressions are given. [Default: 1]
- Go into cursor mode directly? [Default: t]
- Random verbiage,
will be plotted along right top of plot for id. [default: none].
nemoinp 1:100 | tabmath - - ’ranu(0,1),sqrt(%1)+%2,%1/%3’ > tab0
tabzoom tab0 action=echo1
with this a simple action script that simply prints out the information
belonging to the selected point:
#! /bin/csh -f
echo ECHO1 :: $*
Although the final program will have (X-window)
graphic sliders, the prototype has a simple command line interface to
select and manipulate sliders which provide the dynamic query. Only the
first character is matched, and for some commands the second parameter
is also used.
Slider 2 [0.0387063 0.0387063 0.998341 0.998341]:
shows the slider name (normally numbers 1...nsliders), followed by the min,
lo, hi and max along the slider. The min and max can currently not be modified.
The following commands are recognized:
l <val> set lo slider to <val> 
h <val> set hi slider to <val> 
l s <step> set lo stepper to <step> 
h s <step> set hi stepper to <step> 
b <step> set both lo and hi stepper to <step> 
[0-9]* select a new slider by number (>0)
c * cursor mode (NEW)
z * zoom with a box (NEW)
Z zoom reset to original setting
f * cursor flagging (EXPERIMENTAL)
r force full redisplay
s show all sliders info
o (over)write output (needs out= keyword)
!cmd run (previous) unix command
|cmd run data through (previous) pipe
? this help
Noteworthy are the ! and | commands. They both have an optional cmd argument,
which allows the user to repeat a previously set cmd for this command.
The ! simply runs the cmd command through the shell, whereas the | pipes
all currently visible data into the cmd command. For example to do a linear
least squares fit to the visible data,
would be needed (see tablsqfit(1NEMO)
), all subsequents fits can be done
command itself, since it remembers the last used |cmd.
1-jul-03 V1.0 cloned off tabview PJT
22-oct-03 V1.2 added xlab, ylab, headline PJT
Table of Contents