'\t .\" above line triggers use of tbl by man .TH XGOBI 1L "5 December 1990" .SH NAME xgobi \- dynamic graphics program for data analysis for X windows .SH SYNOPSIS .B xgobi .RB [ "X options" ] .RB [ arguments ] .SH DESCRIPTION The program .I xgobi brings contemporary dynamic graphics for statistics to the workstation environment. Dynamic graphical methods offer a data analyst the power of motion, high interaction and rapid response for discovering and understanding higher-dimensional relationships among variables. The following capabilities are provided: .TP 1) Cycling rapidly through two-variable scatter plots. .TP 2) Three-dimensional rotation around a fixed vertical or horizontal axis, including the ability to save coefficients of rotation. .TP 3) Grand tour rotation: a smooth randomized sequence of two-dimensional projections in order to explore a higher-dimensional point cloud. .TP 4) Brushing: the ability to change the color or plotting character of a point or a group of points, including the ability to transmit that information between two or more linked windows, and to save indicator vectors of brushing information. .TP 5) Moving and reshaping of the data in the plot region. .TP 6) Identification: displaying the case label or row number of an interesting point by positioning the cursor near it. .LP Possible relationships among three or more variables can be discovered and explored. For instance, rotation may reveal high-dimensional curvature or multidimensional outliers, and brushing can help an analyst spot clusters and study their behavior. A user can save rotation coefficients and indicator vectors of brushed characters. This information can be used to guide the use of static graphic and functional analytic techniques. .LP The .I xgobi program has been written so that it can be linked to New S .RI ( S (1L)). When run in conjunction with .IR S (1L), it accepts a matrix in .IR S (1L) data format as input and writes its output as .IR S (1L) vectors. .LP The widely used X Window System was chosen as the software implementation environment for .IR xgobi . The program has been tested on Sun and DEC workstations. .SH "FULLER DESCRIPTION" .SS "INVOKING XGOBI FROM THE SHELL" The first argument is assumed to be a file: .IP \fCxgobi datafile\fP .LP The file should contain a data matrix, with each line representing a row or case. Columns or variables are separated by any number of tabs or spaces. .LP Use of standard input allows a user to select certain rows or columns to plot using UNIX commands. For example, columns can be selected by using .IR cut (1): .IP \fCcut -f1-10 datafile | xgobi\fP .LP Rows can be specified by using .IR sed (1) or .IR head (1): .IP \fChead -1500 datafile | xgobi\fP .LP To find variable and case labels, .I xgobi will look for labels files in the directory specified in the datafile argument. Variable (column) labels should to be in a file named .IR datafile.col , .IR datafile.column , .IR datafile.collab , or .IR datafile.var , where datafile is the name of the ascii file containing the matrix. Case (row) labels should to be in a file named .IR datafile.row , .IR datafile.rowlab , or .IR datafile.case . There should be one label per line (the label can include blanks). If .I xgobi is reading from standard input, it will not look for a label file. .LP If variable or case labels are not supplied, default labels or column or row numbers will be created. .LP Command line arguments are those used by standard X programs. One that is frequently used is the display argument, which allows a user to run .I xgobi on one machine and display the output on another. It is used as follows: .IP \fCxgobi -display machine_name:0 datafile\fP .LP Window sizes may be adjusted by means of the .B \-name command line argument (see subsection entitled "Use of the -name argument" in the "X11 RESOURCE FILES" section below). .SS "INVOKING XGOBI FROM WITHIN S" If the .I xgobi command is not pre-loaded as part of .IR S (1L) at your site, you may have to load it manually using the command: .IP \fC> library("xgobi")\fP .LP At the .> IR S (1L) command line, type: .IP \fC> xgobi(matrix, column_labels, row_labels, "name")\fP .LP See the .I S (1L) help page for .I xgobi for a description of these arguments. Note that the first argument can be the output of another .IR S (1L) expression, for example: .IP \fC> xgobi(cbind(spd,pow,freq), c("Speed", "Power", "Freq"))\fP .LP The fourth argument ("name") is described below in the subsection entitled "Use of the -name argument" in the "X11 RESOURCE FILES" section below. .SS "TERMINOLOGY" Several phrases in the following document describe manuevers with the mouse: .TP .B "Click left (or middle or right)" Position the mouse cursor on a button or region of interest, and press the left (or middle or right) mouse button. .TP .B "Select a button (or mode)" Click the left (or middle or right, according to context) mouse button while the cursor is positioned on the appropriate button. The selected button is highlighted (displayed with foreground and background colors reversed). .TP .B "Drag the mouse" Click and hold one of the mouse buttons while moving the mouse. .SS "WINDOW LAYOUT" The .I xgobi display is a window with three main subsections: a main panel across the top, a variable selection panel on the right, and a plotting window in the center. There is a blank area to the left of the plotting window which, in selected modes, is occupied by a control panel. .SS "MAIN PANEL" The main panel is the row of buttons across the top of an .I xgobi display. This panel is divided into two sections. The seven buttons on the left represent .I xgobi mutually exclusive modes. For example, if .B Scale is selected, then selecting .B Brush causes .B Scale to be "deselected" and the control panel to the left of the plotting window to change. .LP The three buttons on the right are miscellaneous top level controls (described in the subsection "Xgobi modes"). .SS "VARIABLE SELECTION PANEL" At the right is a set of square labeled variable selection boxes, each of which is associated with one variable (one column of the input matrix). The behavior of the variable selection boxes depends upon the plotting mode. Above the variable panel is a bit of text to remind the user of mouse actions required to select and deselect variables. Mouse clicks over variable selection boxes select and deselect variables for plotting. Clicking left on a variable label causes a menu to appear, containing a handful of useful data transformations that can be applied to the variable. .LP The number of variables in use is determined by the command mode: .RS .TP .B "Two variable mode:" Initiated by selecting .BR "XY Plot" . A horizontal line is drawn in the variable circle of the X variable and a vertical line in that of the Y variable. .TP .B "Three-variable mode:" Initiated by selecting .BR Rotate . One Y variable is plotted against a linear combination of two X variables; the horizontal lines appearing in the variable circles are proportional in length to the coefficients of the two X variables. .TP .B "Multi-variable mode:" Initiated by selecting .BR Tour . The lines in the variable circles are oblique, and provide information about the magnitude and direction of the contribution of each variable; see under .B "Speed scrollbar" in the .B Tour section below. .RE .SS "PLOTTING WINDOW" In the center of the .I xgobi window is the plotting window. In some .I xgobi modes, such as .B Brush or .BR Scale , there are a few words of instruction displayed above the plotting window. These instructions describe the mouse operations that are effective within the plotting window while that mode is selected. .SS "XGOBI MODES" .TP .B "XY Plot" When .I xgobi is initiated, it is in .B "XY Plot" mode and a two-variable scatter plot is drawn in the plotting window. The only possible action is variable selection, using a left click for X and a middle click for Y, after which the scatter plot will immediately be redrawn in the plotting window. .IP The following table describes the results of different clicks in the variable selection panel: .RS .sp .TS l l. Left click inactive variable variable replaces the active X active X variable ignored active Y variable ignored \0 \0 Middle click inactive variable variable replaces the active Y active X variable ignored active Y variable ignored .TE .RE .IP Note: this same variable selection behavior obtains when a two-variable scatter plot appears in the plotting window during brushing, scaling, or case identification. .RS .TP .B Add Axes Toggle axes on/off. .RE .TP .B Rotate Presently, .I xgobi rotation consists of rotation in a around either a vertical Y axis or horizontal X axis. X and Y variables are selected with left and middle clicks. The variable selection behavior that applies during the .B Rotate mode is described in the following table, where the X variable that was selected earliest is called X1 and the other is called X2: .sp .TS l l. Left click inactive variable X2 becomes X1, new variable becomes X2 active X variable ignored active Y variable Y becomes X1; X1 becomes Y \0 \0 Middle click inactive variable variable replaces active Y X1 Y becomes X1; X1 becomes Y X2 Y becomes X2; X2 becomes Y active Y variable ignored .TE .IP Note: this same variable selection behavior obtains during brushing, scaling and case identification when the current plot was defined during the Rotate mode. .IP The two horizontal bars that are drawn inside the variable circles are proportional in length to the coefficients of the X variables in the linear combination currently plotted. .IP When a user selects .BR Rotate , a control panel appears to the left of the plotting window; its elements include: .RS .TP .B Add Axes Toggle axes on/off. .TP .B "Speed scrollbar" Controls the apparent speed of rotation. (setting the angle of rotation between successive replots of the data.) There are two ways to control the scrollbar: .RS .TP 1. Position the cursor over the slider bar, then drag the mouse left to slow rotation, right to speed it up. (There is no need to keep the cursor positioned over the scrollbar once you have pressed it.) .TP 2. Click left on the left arrow to slow down rotation, on the right arrow to speed it up. .RE .TP .B "Change Direction" Reverse the direction of rotation. Pause" .TP .B Pause Halt rotation until it is selected again. .TP .B Rock Change the direction of rotation after each ten subsequent replots. Increasing the speed using the scrollbar increase the angle described by the rocking motion .RB ( Rock and .B Interpolate are mutually exclusive) .TP .B Interpolate Rock the plot between a plot of Y versus X1 and Y versus X2 .RB ( Rock and .B Interpolate are mutually exclusive) .TP .B "Y Axis" Rotate about a fixed Y axis .RB ( "Y Axis" and .B "X Axis" are mutually exclusive). .TP .B "X Axis" Rotate about a fixed X axis .RB ( "X Axis" and .B "Y Axis" are mutually exclusive). .TP .B "Save Coeffs" Save the coefficients of rotation in use at that moment. Rotation pauses and a window appears, requesting a file name (position the cursor inside the box in the lower right of the popup window to respond). The routine delete or backspace keys apply. Terminate the file name with a carriage return or by selecting the .B Done button. .IP If .I xgobi was initiated from the shell, the coefficients are written as two columns, where the first column contains the coefficients of the variables plotted on the X axis and the second column those on the Y. .IP If .I xgobi was initiated within .IR S (1L), the coefficients are written out as a vector; this can be transformed into a matrix if required by using the following .IR S (1L) command: .RS .IP \fCarray(coefs, c(ncols, 2))\fP .RE .IP where \fCcoefs\fP is the vector of coefficients and \fCncols\fP is the number of columns in the current data matrix. .RE .TP .B Tour Initiate a grand tour using the first three variables in the data matrix. The labels of the included variables are highlighted. If there are fewer than three variables in the data, .B Tour is deactivated. .IP The grand tour method successively samples planes in p-space, where p is the number of variables presently selected, and connects the planes by moving along a geodesic interpolation path between them. Motion is smooth between the starting and ending planes, but when the ending plane is reached there is a slight delay while the next randomly selected ending plane and consequent path are calculated. By allowing the grand tour to run uninterrupted, the viewer can get a global view of the linear combinations among the variables. As the tour runs, the number of base planes passed is displayed in the box to the right of the .B Backtrack button. .IP A variable may be added to or removed from the tour by clicking on the corresponding variable selection box with the left or middle mouse button. There must be three or more variables included in the grand tour, so it is not possible to remove a variable when only three are active. The bars drawn inside the variable circles represent the coefficients of the variables in the current plot. The projection of a bar on the horizontal axis of the variable circle corresponds to the X coefficient of that variable, while the projection on the vertical axis of the variable circle corresponds to the Y coefficient. .RS .TP .B Add Axes Toggle axes on/off. .TP .B "Speed scrollbar" Adjust the apparent speed of the grand tour. .TP .B "Pause" Halt the tour until .B Tour is re-selected. .TP .B Step Stop when the tour reaches the next selected plane, and continue only after the .B Go button is selected. .TP .B Go Enabled only when .B Step has been selected; continue the tour. .TP .B "Local Scan" Use the current position as the anchor position. The tour continues choosing new bases and projecting new views, but returns to the anchor position after each new view. .TP .B "Save Coeffs" Write out the coefficients, as viewed on the variable bars, into an ascii file as a two column matrix. The first column contains the X coefficients of all the variables and the second contains the Y coefficients. If .I xgobi is running from within .IR S (1L) coefficients are written out as a vector. .TP .B Backtrack Run the tour backward through the path of the base planes passed saved in the history file. The number in the box to the right of the .B Backtrack button changes to display the number of the plane in the history file that the tour is approaching. .IP When the tour has backtracked to the first plane in the history file, it turns around and moves forward through the history file. This is indicated by the button below .BR Backtrack , which instantaneously changes from .B Backward to .BR Forward . When the tour has reached the end of the history file, it reverses direction again and begins to move backward through the recorded planes, and the button below .B Backtrack changes to .BR Backward . When .B Backtrack is deactivated, the tour begins again from the current projection, overwriting the history file from this position onward. .IP During .B Backtrack it is not possible to add or remove variables. .TP .B Backward/Forward Display the direction of backtracking. A left click on this button changes the direction of backtracking. .TP .B "Save History" Save the history file. .TP .B "Read History" Redisplay the stored .B Tour path. .RE .TP .B Scale Activate a set of operations for scaling and shifting the data inside the plotting window. A scaling control panel appears to the left of the plotting window; the first set of controls applies to rescaling operations, and the second set to operations that shift the center of the data: .RS .TP .B "Reset Scale" Restore the data scale to the default, which is a square region adjusted to the smallest dimension of the rectangular plotting window. .TP .B "Scale Control" The six buttons appearing below the Reset Scale button all change the scale when they are held down: .sp .TS l l. up arrow expand data vertically + expand data horizontally and vertically -> expand data horizontally \0 \0 <- contract data horizontally - contract data horizontally and vertically down arrow contract data vertically .TE .IP In addition, the data can be expanded and contracted by dragging middle inside the plotting window. This facility allows the reshaping of the data in arbitrary ways. The direction and extent of the change in scale depends on the direction and distance the user moves the cursor. .TP .B Center Toggle between two types of scaling methods. When the label is .B "Data Center" , the data will be scaled from the center (midrange) of the data. This preserves the shape of the scatter plot. When the label is .BR "Plot Center" , the data will be scaled from the center of the plotting window. This facilitates shape changes. For example, when the data are all to one side of the center of the window, the points farthest from the center will expand out or contract in faster than points near the center. .TP .B "Reset Shift" Re-position the data around the center of the plotting window. The four buttons appearing below the Reset Shift button all change the data translation when they are held down: .sp .TS l l. up arrow shift the data upward -> shift the data to the right \0 \0 <- shift the data to the left down arrow shift the data downward .TE .IP The shift can also be adjusted by dragging left inside the plotting window. This allows the user to grab the point cloud and move it around the plotting window synchronously with the cursor. .RE .TP .B Brush Activate brushing mode. Brushing can be performed with a single .I xgobi process running, but is most useful when used with multiple .I xgobi processes, with a different view of the same data displayed in each. When brushing operations are performed in any one .I xgobi window, the new current state is instantly broadcast. Any other .I xgobi window that reads the broadcast information promptly updates its own window to reflect the changes. In order to respond to brushing events, an .I xgobi process must be plotting data with the same number of rows as the broadcasting window, but need not be in .B Brushing mode itself. (In fact, machine response is best if the passive window is in a .B Pause state or in the .B "XY Plot" mode, consuming few computing cycles). In order to prevent the sending or receiving of brushing information, select .B Unlink in the main panel. .IP The instruction label appearing above the plotting window reminds you of the brush use. When you click left or middle with the cursor inside the plotting window, the cursor will jump to the "brush", which is a rectangle drawn in the current brushing color. Drag middle to change the size or shape of the brush, or drag left to move the brush within the plotting window. If you lose the brush by pulling it outside the plotting window, you can grab it again if you press and hold the left button while the cursor is inside the plotting window. .RS .TP .B Brush On Enable brushing; change the color or plotting character (glyph) of a point by moving the cursor over it. If brushing is turned off, the brush can be freely moved across the plotting window without changing points. .TP .B "Color Menu" Press and hold on the menu button to activate the menu; drag the mouse and release when the label for the desired color is highlighted (active only on color workstations). .TP .B "Glyph Menu" Press and hold on the menu button to activate the menu; drag the mouse and release when the label for the desired glyph is highlighted. .TP .B Persistent Use persistent brushing mode: a brushed point retains its new color or glyph when the brush is no longer over that point .RB ( Persistent , .BR Transient , and .B Undo modes are mutually exclusive). .TP .B Transient Use transient brushing mode; a point returns to its original color and glyph when the brush moves off of it .RB ( Persistent , .BR Transient , and .B Undo modes are mutually exclusive). .TP .B Undo Use undo brushing mode; a point painted during the preceding .B Persistent brushing action is restored to its original state .RB ( Persistent , .BR Transient , and .B Undo modes are mutually exclusive). .TP .B Erase Brushed points become invisible (always a persistent operation). .TP .B Complement Erase visible points and restore previously erased points. There is no .B Undo operation for erasing, but by using a combination of .B Complement and .BR Erase , a user can recover particular points that were previously erased. .TP .B "Send Update" Cause a second .I xgobi window to acquire the brushing characteristics of an existing window (click on .B "Send Update" in the .I older window). Information about color, glyph, and visibility are passed to the recipient window. .TP .B "Reset menu" Press and hold to access the reset choices presented in this menu. .sp .TS l l. Reset brush size Reset brush to default size Reset colors Restore points to default color Reset glyphs Restore points to default glyph Restore erased points Make all points visible .TE .TP .B "Save Indices" Save the brushing glyph and color information. .IP A popup window appears, requesting a file name (position the cursor inside the window in the lower right of the popup window to respond). The routine delete or backspace keys apply. .IP If .I xgobi was initiated from the shell, the brushing information is written out in an ascii file of two columns. The first column contains integers corresponding to glyphs, and the integers are those that appear in the glyph menu. The second column contains color names. .IP If .I xgobi was initiated within .IR S (1L), two .IR S (1L) vectors are created. The name typed in by the user becomes the stem. The vector named .I name.glyph is an integer vector containing the glyph numbers, and .I name.color is a character vector containing the color names. .RE .TP .B Identify Identify the case (row) of plotted points. If a file containing case labels has been supplied, those labels are used here. If not, the row number of each point is used. To see these labels, move the cursor inside the plotting window. The label of the point nearest the cursor will be printed. .IP To cause a label to become "sticky" (remain displayed), click left when the target label is printed. The printing style changes and the label now remains printed as the cursor moves off, and even remains printed as you leave the Identify mode. It is possible to rescale or rotate data, and the sticky labels will continue to be printed next to their associated points. .IP To remove a sticky label, return to the .B Identify mode and click left again when the target point is nearest the cursor. To restore all sticky labels, click on the button labeled .BR "Remove Labels" , to the left of the plotting window. .TP .B "New data" Read in a new data file and its associated labels. A popup window appears, asking for a file name. (This has not been implemented from within .IR S (1L).) .TP .B Unlink Isolate a particular .I xgobi window; it will neither broadcast nor receive brushing information. .TP .B Help Provide information. Clicking left on the .B Help button in the main menu changes the cursor to a question mark. Positioning the question mark over a button and clicking left. causes the appearance of a scrollable popup window containing documentation about the indicated button or window. When done with the help window, select "Done" with the left button. .TP .B Exit Terminate .I xgobi . .RE .SH "ENVIRONMENT VARIABLES" Depending upon the site, the following variables may be required in the shell environment (the inscrutable examples in parentheses were supplied with the original .I xgobi documentation): .TP .B XL directory containing .I app-defaults directory .TP .B XGOBIHOME directory containing .I XGobi default resources file .TP .B XF used to find resources files in the .I app-defaults directory ($XL/%L/%T/%N%S:$XL/%l/%T/%N%S:$XL/%T/%N%S) .TP .B XFILESEARCHPATH used to find resources files in the .I app-defaults directory ($XF:$XGOBIHOME/%N) .TP .B XUSERFILESEARCHPATH used to find resources files in the .I app-defaults directory ($HOME/app-defaults/%N) .SH FILES .TP 2.2i .I /site/bin/xgobi executable .TP .I $XGOBIHOME/XGobi default resource file; you may wish to create a private file as well (if so, create a directory named .IR $HOME/app-defaults , and construct the file .I XGobi in that directory) .TP .I $XGOBIHOME/sun/.Data .I xgobi .IR S (1L) functions .SH "X11 RESOURCE FILES" X11 resource files are used to control size, color, layout, labels, and various other windowing features. Note that the amount of white space after the colon in the following examples is not significant. .SS "COLOR" To use a monochrome display, add one of the following two sets of lines to a private .I xgobi resource file. To set all foreground colors to black and all background colors to white: .IP .nf \fC*foreground: black *background: white *borderColor: black\fP .fi .LP To produce a white-on-black display: .IP .nf \fC*foreground: white *background: black *borderColor: white\fP .fi .LP There are ten colors used in brushing, specified as follows: .IP .nf \fC*brushColor0: Sienna *brushColor1: HotPink *brushColor2: Red *brushColor3: Orange *brushColor4: Yellow *brushColor5: Green *brushColor6: SkyBlue *brushColor7: SlateBlue *brushColor8: Orchid *brushColor9: Peru\fP .fi .LP (the list of colors that can be used above can be obtained by executing .IR showrgb ). .SS GEOMETRY The size of the plotting window, the variable panel, and the variable boxes and labels may be specified in pixels. To set the initial width and height of the plotting region: .IP .nf \fC*PlotWindow.width: 300 *PlotWindow.height: 300\fP .fi .IP To set the width and height of the variable panel. .IP .nf \fC*VarPanel.width: 300 *VarPanel.height: 300\fP .fi .IP Note that the layout algorithm treats these specifications as suggestions; it may override width or height to satisfy other constraints of the program. .LP To set the size of the squares within the variable panel, and the length of the variable labels: .IP .nf \fC*VarPanel*VarWindow.width: 36 *VarPanel*VarLabel.width: 36\fP .fi .SS "USE OF THE -name ARGUMENT" To adjust the size resources differently for each of several sets of data, use the .B \-name command line argument in combination with the resource file. For example: .IP .nf \fC*PlotWindow.width: 350 *PlotWindow.height: 350 *VarPanel.width: 350 *VarPanel*VarLabel.width: 30 *VarPanel*VarWindow.width: 30/fP \&.\|.\|. usage*PlotWindow.height: 120 usage*PlotWindow.width: 550 usage*VarPanel.width: 450 usage*VarPanel*VarLabel.width: 34 usage*VarPanel*VarWindow.width: 34 usage*title: Telephone usage usage*iconName: Usage\fP .fi .LP The first group of lines above represent a default layout. The second group of lines represent an unusual layout to be used with a set of telephone usage data which is a time series with more than 50 variables. To specify the layout, the command line looks like this: .IP \fCxgobi -name usage data/usage.residence\fP .LP If running .I xgobi from inside .IR S (1L), the name argument is the fourth argument, and is given as a character string, as in: .IP \fC>xgobi(usage.res, usage_labels, "usage")\fP .LP Note that the name argument does not have to be the same as the file name; it need only be the same as the prefix of the resources. .SH "SEE ALSO" S(1L) .LP Becker, R. A., J. M. Chambers, and A. R. Wilks (1988). \fIThe New S Language: A Programming Environment for Data Analysis and Graphics\fP, Wadsworth & Brooks/Cole, Pacific Grove, CA. The definitive source on the New S system. .LP Buja, A. and D. Asimov (1985). \fIGrand Tour Methods: An Outline\fP. \fIComputer Science and Statistics: Proceedings of the 17th Symposium on the Interface\fP. Elsevier, Amsterdam. This paper is a general introduction to the grand tour. .LP Buja, A., D. Asimov and C. Hurley (1989). \fIMethods for Subspace Interpolation in Dynamic Graphics\fP. Bellcore Technical Memorandum TM-ARH-015639. This technical note is an in-depth guide for the grand tour methods. It is written for a reader wishing to understand and, perhaps, to implement the algorithm. .LP Cleveland, W. S. and M. E. McGill, editors (1988). \fIDynamic Graphics for Statistics\fP, Belmont, California: Wadsworth & Brooks/Cole. This is a good general reference book for dynamic graphics with articles contributed from various sources. It has discussion and examples of all methods used in xgobi. .LP Marsch, V. and P. A. Tukey (1990). \fIPlot3d - A Data Animator for Sun Workstations\fP. Bellcore Technical Memorandum (to appear). This memo will describe .IR plot3d , a versatile three-dimensional rotation program written for Sun workstations under the .IR mgr (1L) window manager, designed to run under .IR S (1L). .LP Buja, A., C. Hurley and J. A. MacDonald (1986). \fIA Data Viewer for Multivariate Data\fP. Computer Science and Statistics: Proceedings of the 18th Symposium on the Interface. American Statistical Association, Washington, DC. .LP Hurley, C. (1987). \fIThe Data Viewer: An Interactive Program for Data Analysis\fP. PhD Thesis, University of Washington, Seattle. .LP O'Reilly and Associates, \fIThe X Window System\fP (8 volumes), O'Reilly and Associates, 1988, 1989, 1990. .LP Young, Douglas A., \fIX Window Systems Programming and Applications With Xt\fP, Prentice-Hall, 1989. .SH "FUTURE DEVELOPMENT" Currently contemplated extensions to .I xgobi include: .TP 1) Manual control of the grand tour projection path. .TP 2) Communication with .IR S (1L) using UNIX network protocols, enabling more flexible exchange of data. .TP 3) Inclusion of plotting axes. .TP 4) Inclusion of three-dimensional rotation about an arbitrary axis with trackball control. .TP 5) Inclusion of a mouse-operated on-line documentation system. .TP 6) Addition of clustering algorithms. .TP 7) Addition of projection pursuit methods. .SH COPYRIGHT Copyright (C) 1990 Bellcore. .LP Permission is hereby granted to any individual or institution for use, copying, or redistribution of the .I xgobi code and associated documentation, provided that such code and documentation are not sold for profit and the following copyright notice is retained in the code and documentation. .SH AUTHORS Deborah F. Swayne (dfs@bellcore.com) and Dianne Cook (dcook@fisher.rutgers.edu) (201) 829-4263. We welcome your questions and comments, and request that you share any modifications with us. .LP The .I xgobi program inherited much of its design from a prototype dynamic graphics system for data analysis, originally named The Data Viewer (and subsequently named .IR gobi ), which was written for the Symbolics Lisp machine. .LP We would like to thank our colleagues at Bellcore and Rutgers who have offered suggestions and feedback about the design of .IR xgobi , especially Allen McIntosh for his invaluable expertise in C language programming and the X Window System. The first .I xgobi brushing code was written by Bobby Hall during the summer of 1989, and Michael Littman wrote the first code to control scaling by mouse actions in the plotting window. UNIX is a registered trademark of AT&T. X Window System is a trademark of MIT. .LP UNIX manual page created from original .I xgobi documentation by R. P. C. Rodgers, UCSF School of Pharmacy, San Francisco, California 94143 (rodgers@maxwell.mmwb.ucsf.edu). .\" end of file