Multidimensional graphing in twodimensional space
Download PDFInfo
 Publication number
 USRE36840E USRE36840E US08497994 US49799495A USRE36840E US RE36840 E USRE36840 E US RE36840E US 08497994 US08497994 US 08497994 US 49799495 A US49799495 A US 49799495A US RE36840 E USRE36840 E US RE36840E
 Authority
 US
 Grant status
 Grant
 Patent type
 Prior art keywords
 variable
 independent
 variables
 running
 iadd
 Prior art date
 Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
 Expired  Lifetime
Links
Images
Classifications

 G—PHYSICS
 G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
 G09G—ARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
 G09G5/00—Control arrangements or circuits for visual indicators common to cathoderay tube indicators and other visual indicators

 G—PHYSICS
 G06—COMPUTING; CALCULATING; COUNTING
 G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
 G06T11/00—2D [Two Dimensional] image generation
 G06T11/20—Drawing from basic elements, e.g. lines or circles
 G06T11/206—Drawing of charts or graphs
Abstract
Description
This patent is a reissue of U.S. Pat. No. 5,228,119 entitled, MULTIDIMENSIONAL GRAPHING IN TWODIMENSIONAL SPACE, having Ser. No. 07/608,337, filing date Nov. 2, 1990, and issue date of Jul. 13, 1993. .Iaddend.
.[.This application.]. .Iadd.U.S. Pat. No. 5,228,119 .Iaddend.is a continuationinpart of .[.pending.]. U.S. Patent application Ser. No. 07/589,820, filed Sep. 28, 1990.Iadd., now abandoned.Iaddend..
This invention related to graphing of data or mathematical functions which have .[.two.]. .Iadd.three .Iaddend.or more independent variables and one .Iadd.or more .Iaddend.dependent .[.variable.]. .Iadd.variables.Iaddend..
Graphs have long served the purpose of allowing visual perception and interpretation of data sets and functions. Typically, graphing involves plotting in two dimensions along an X and a Y axis. This involves the plotting of .[.a.]. .Iadd.an .Iaddend.X "independent" variable against .[.an.]. .Iadd.a .Iaddend.Y "dependent" variable.
There are other systems and methods for visualizing 3D data. Such techniques include color maps, contours, wire meshes, as well as numerous other surface rendering techniques. All too often, 3D or multidimensional data sets are viewed in two dimensions in the form of X,Y plots, and then repeated over various combinations until all variables are completed. Another graphing technique involves the maintenance of variables as parameters in order to produce a two dimensional X,Y plot.
Still another method of multidimensional graphing is referred to as a graph "matrix." This consists of plotting all points in the multidimensional space in terms of their projections onto all possible planes. This technique proves to be quite useful in analyzing randomly sampled data (as opposed to lattice or gridlike data), especially in statistical investigations in which a clear identification of the dependent and independent variables may not be possible. Since it is the projection of all data points onto the various planes that is shown, a variety of data "labeling" and "brushing" tools have been developed in order to identify corresponding points for each of the graphs.
These "matrix" graphs do not provide an easy and intuitive means of recognizing the mathematical form that one should use to fit multidimensional data. The primary reason for this shortcoming is that the matrix graph technique displays projections onto a particular twodimensional subspace rather than all possible "parallel" planar slices through this space (corresponding to all possible values of the remaining variables).
This invention comprises a system and method using a computer for graphing multidimensional data sets or functions in twodimensional space. This twodimensional space can be defined by an X and a Yaxis. The system includes defining means, reading means, first selecting means, second selecting means, ranking means, determining means, plotting means, group means, and looping means. The plotting means further includes first .[.sequential.]. displaying means, second displaying means, first repeating means, and second repeating means. The method involves reading values which are to be associated with the independent variables of the function as well as the resulting values associated with the dependent variable of the function. It is also possible in the invention for the values associated with the dependent variable to be calculated in real time.
A new independent variable is defined by the defining means to represent multiple dependent variables. Each value of the new independent variable corresponds to a dependent variable. .[.The values associated with all.]. .Iadd.All .Iaddend.of the independent variables, including the new independent variable, are ranked by the user using the first selecting means, second selecting means, and ranking means of the system in order from fastest to slowestrunning variables. The order in which the variables are ranked is flexible in designation by the user. The independent variables are then plotted by the plotting means along the Xaxis while the dependent variable or variables, corresponding to a value of the new independent variable, are then plotted by the plotting means along the Yaxis. The determining and plotting of the results are then repeated using looping means.
Rectangles encompassing the next .[.fastest.]. .Iadd.faster.Iaddend.running .[.variables.]. .Iadd.variable .Iaddend.are displayed by the group means on the screen or plotting device. The rectangles are displayed in different colors with each color corresponding to a different variable subspace for an aid in visual representation and interpretation to the users. The rectangles all have a height and the height of each rectangle can be dependent on different functions. In one case, the height may be equal to the difference between a maximum and a minimum value of the dependent variable within the rectangle. In another case, the height of the rectangle may be equal to the sum of the values of the dependent variable encompassed within the rectangle. In still another case, the height of the rectangle may be dependent on some function of the next .[.fastest.]. .Iadd.faster.Iaddend.running variable, or some function of any of the rectangles.
This method and system serves as a useful tool in the display and analysis of data sets and functions which can be arranged in a gridlike or latticelike orientation. Additional objects and advantages of the invention are set forth in part in the description which follows, and in part are obvious from the description, or may be learned by practice of the invention. The objects and advantages of the invention also may be realized and attained by means of the instrumentalities and combinations particularly pointed out in the appended claims.
The file of this patent contains at least one drawing executed in color. Copies of this patent with color drawings will be provided by the Patent and Trademark Office upon request and payment of necessary fee. The accompanying drawings, which are incorporated in and constitute a part of the specification, illustrate preferred embodiments of the invention, and together with the description serve to explain the principles of the invention.
FIGS. 1A, 1B and 1C show a flow chart of the method of the present invention.
FIG. 2 shows an illustration of an example application of the present invention.
FIGS. 3A and 3B show illustrations of example applications of the present invention.
FIG. 4 shows the program structure of the present invention.
FIG. 5 shows the main event loop of the present invention.
FIG. 6 shows a flow chart of the Zoom In tool.
FIG. 7 shows a flow chart of the Zoom Out tool.
FIG. 8 shows a flow chart of the Animate tool.
FIG. 9 shows a flow chart of the Expander tool.
FIG. 10 shows a flow chart of the General Zoom tool.
FIG. 11 shows a flow chart of the Decimate tool.
FIG. 12 shows a flow chart of the Permute tool.
FIG. 13 shows a flow chart of the Cloning tool.
FIG. 14 shows an embodiment of the invention.
FIGS. 15(a) and 15(b) show additional embodiments of the invention.
FIGS. 16(a) and 16(b) show additional embodiments of the invention.
FIGS. 17(a) and 17(b) show additional embodiments of the invention.
FIGS. 18(a) and 18(b) show additional embodiments of the invention.
FIG. 19 shows an additional embodiment of the invention.
FIGS. 20(a), 20(b), and 20(c) show illustrations of example applications of .[.he.]. .Iadd.the .Iaddend.present invention.
FIG. 21 shows an illustration of example applications of the present invention.
FIG. 22 shows an illustration of example applications of the present invention.
FIG. 23 shows an illustration of an example application of the present invention.
FIG. 24 shows an illustration of an example application of the present invention.
FIG. 25 shows an illustration of an example application of the present invention.
FIG. 26 shows an illustration of an example application of the present invention.
The present invention pertains to a method for plotting scalar fieldson an Ndimensional lattice. It is useful, among other things, for a variety of data visualization tasks such as the location of maxima, minima, saddle points and other features. It is also useful for visually fitting multivariate data and for making the visual determination of dominant and weak or irrelevant variables.
In one embodiment of the invention, each independent variable is sampled in a regular grid or latticelike fashion (spaced in equal increments). The number and spacing of values may differ for each variable, however, in this embodiment no missing values are allowed. Thus, the N independent variable values form a hyperrectangular lattice in the Ndimensional space within hyperrectangular parallelipiped domain.
Since the definition of a function is a locus of points, the present invention pertains equally to plotting functions or plotting data values.
FIGS. 1A, 1B and 1C show a flowchart of the method of the present invention. Referring to FIG. 1, the system defines 100, using the defining means, new independent variables for the dependent variables, with the new independent variables having associated values. With the defining means, the system represents 105 the dependent variables with values associated with the new independent variables. The system, with the reading means, reads 110 the values of the independent variables. There are numerous ways in which data values can be entered into a computer, such as through a data file or a real time solution of an equation.
The system, using the computer, then allows the user to select 115, using first selecting means, the independent variable which is fastestrunning, and ranking the selected independent variable, with the first selecting means, as the fastestrunning independent variable. The first selecting means may be embodied as a software subroutine coupled to user inputs from a mouse 84 or a keyboard 83, in conjunction with user prompts from display 81, as shown in FIG. 14. They system then allows the user to select 120, using second selecting means, the independent variable which is next fastestrunning, and ranking the selected independent variable, with the second selecting means, as the next fastestrunning independent variable. The second selecting means may be embodied as a software subroutine coupled to user inputs from a mouse 84 or a keyboard 83, in conjunction with user prompts from display 81, as shown in FIG. 14.
The system then repeats 130, using ranking means, the selecting of independent variables from fastest to slowest, and ranks 125 the selected independent variables until all independent variables are ranked form fastestrunning to slowestrunning. This invention plots multidimensional variables in twodimensional space based on a hierarchical ranking of variables, and the resulting rectangles which are plotted thereupon. In order to do so, it is necessary for the operator or the computer system, if it is configured as such, to rank the variables from fastest to slowestrunning variable. This can be a completely arbitrary ranking, and in fact it is often useful to view the multidimensional graphs in different combinations of rankings of the independent variables. Regardless, it is necessary to set up a ranking from fastest to slowest by whatever designation is desired by the user.
The system, using the computer, determines 135, using determining means, a result for each value of a new independent variable for all combinations of the values of all remaining independent variables other than the new independent variable. Using plotting means, the corresponding dependent variable values are plotted in twodimensional space. With the independent variables ranked in their hierarchical fashion and plotted against the Xaxis, the corresponding dependent variable value is plotted along the Yaxis. This gives a distribution of values in twodimensional space. In some embodiments of the invention, the dependent variable values are already computed or known and read into a data file similar to the independent variable values. In other embodiments, the dependent variables are calculated based on the independent variable values. In either case, the dependent variable values are plotted along the Yaxis. It should be noted that, similar to the flexibility in the ranking of the independent variables, it is possible to change the designation of variables from independent to dependent, and vice versa. Again, this produces different visual results which may be more useful in interpreting the data sets. The plotting means includes first .[.sequentially.]. displaying means, second .[.sequentially.]. displaying means, first repeating means, and second repeating means. Using the first repeating means, the system gets 140 the first independent variable, and .[.sequentially.]. displays 145 the results corresponding to the values associated with the fastestrunning variable for a first value of the next fastestrunning variable and a first value of each of the remaining independent variables. After the displaying 145 of the results for the fastestrunning independent variable, a rectangle is displayed 150, using group means, by horizontally enclosing the displayed results associated with the fastestrunning independent variable.
The system then gets 155 a next value of the next fastestrunning independent variable and .[.sequentially.]. displays 160 the result, using the second .[.sequentially.]. displaying means, corresponding to the values associated with the fastestrunning independent variable for a next value of the next fastestrunning independent variable and a first value for each of the remaining independent variables. The first repeating means repeats 165 getting 155 a next value and displaying 160 the results for each remaining value of the ext fastestrunning independent variable until there are no remaining values of the next fastestrunning independent variable.
Using the group means, the system displays 170, on the display, a rectangle horizontally enclosing the displayed results associated with the next fastestrunning independent variable, while also enclosing the previously displayed rectangle, thereby nesting the fasterrunning variables within the rectangles of the slowerrunning variables according to the hierarchical plotting of the results.
The system, using second repeating means, gets 180 a next fastestrunning independent variable and repeats steps 145 to 170 of FIG. 1 until 175 there are not remaining next fasterrunning independent variables, i.e. the last value of the slowestrunning independent variable is displayed. The system, using looping means, then gets 195 a next new independent variable and repeats steps 140 to 180 until 190 there are no remaining new independent variables, and the plotting of the variables and nesting of results in rectangles stops 200.
The multidimensional graphing and twodimensional space method and system works by displaying hierarchical rectangles in different colors. The fastestrunning variables are displayed in the present embodiment as "hash" marks. These hash marks can be thought of as rectangles having zero height. The next fastest variable then becomes a rectangle encompassing the fastestrunning variable values throughout the range of the next fastestrunning variable. This iteration of next fastestrunning variables continues until the slowestrunning variable is accounted for. This results in a nesting of rectangles as shown in FIGS. 3A, 3B and 3C. FIGS. 3A, 3B, and 3C .[.are.]. .Iadd.is a .Iaddend.graphical representation using the present invention of the Ideal Gas Law. The Ideal Gas Law is described in the form P=nRT/V, where P is pressure, n is a number of moles, R is the gas constant, T is the temperature (in degrees Kelvin), and V is the volume occupied by the gas.
The ranking of the independent variables T, n and V is shown is FIG. 2 in their corresponding positions on the Xaxis. In this particular case, T is designated as the fastestrunning variable and is illustrated along the number line as the smallest set of hash marks; n is the next fastestrunning variable, and this is shown as the next largest set of hash marks. Finally, V is shown as the slowestrunning variable, and this is illustrated as the largest set of hash marks.
It can be seen in FIG. 2 that the fastestrunning variables are nested within each next fastestrunning variable and then repeated for the negative value of the next fastestrunning variable. This translates to T values of 1, 2, 3 and 4, while n=0 and V=0. Then, T runs through 1, 2, 3 and 4, while n=1 and V=0, etc., until completed for all four values of n (14). This cycle is then repeated for all values of V from 14.
The result of this is shown in FIG. 3A. In FIG. 3A, three colors are used. Color selections are made by the operator. White (14) designates the fastestrunning variable T, while blue (15) represents the next fastestrunning variable n and, finally, orange (16) represents the slowestrunning variable V. When looking at the graph, the value P is plotted along the Yaxis while the independent variable values are plotted along the Xaxis.
The white hash marks designate the T value. The white hash marks are connected by splines (17), whose purpose is to aid in the visual interpretation. They are not a requirement of the present method and system, but instead a useful interpretative tool. The splines are used in connecting groups of rectangles, i.e., fastest, next fastest and slowestrunning variables.
The blue rectangles represent the value of n. Each blue rectangle encompasses four of the white hash marks (fastestrunning variables), as there are four values of T for each value of n. The blue rectangles are also connected by splines.
Finally, the orange rectangles which represent the variable values V encompass four blue rectangles. This is a result of there being four values of n for each value of V.
Thus, a nesting of rectangles in a hierarchical fashion illustrates the graph of the Ideal Gas Law. One can view the different groupings of variables at any point to interpret the data set, while at the same time seeing conditions on either side of that location for the entire set of variable values.
FIG. 3B shows a graph representing the gaussian function w=e^{}(x**2+y**2+z**2) using the invention.
FIG. 4 shows an overview of the program structure of an embodiment of the present invention. This system chart of the program structure shows the available tools all connected to a main event loop 27. Main event loop 27 is shown in FIG. 5. All tools and operational commands are initiated via subroutine calls in the present embodiment of the invention. The tools are shown in FIGS. 613.
In FIG. 5, there is shown a flow chart of the basic operation of main event loop 27. The main event loop is a central point of program flow. After the program embodying the present invention is initialized, it enters the main event loop and all subsequent actions are dispatched from here. An event is usually some user input requesting some action of the program. Once the main event loop is entered, it continually scans for an event (i.e., tool). When an event is detected (received), the main event loop determines what action should be taken and issues the appropriate function calls subroutine calls). After the function (tool) completes its execution, the main event loop resumes scanning for user input.
In block 42, the main event loop awaits for user action. Then, after user action such as the toggling of buttons on a mouse or pressing of keys on a keyboard, an appropriate function call is made in block 43. The function (or subroutine) is called and completed and then processing returns to the main event loop in block 44. The main event loop then keeps cycling waiting for user input before making the appropriate function calls.
FIG. 6 shows a flow chart of the Zoom In tool (20 in unscaled mode or Zoom In tool 21 in scaled mode). The Zoom In tool reduces the dimensionality of the plotted space. One of the currently displayed second slowestrunning variables is selected from the currently displayed slowestrunning variable, and this selected second slowestrunning variable becomes the currently displayed slowestrunning variable. The net effect of this tool is to zoom in on one of the spaces or subspaces. This tool can be used for finding maxima and minima.
In the scaled version, the zoomedin subspace is proportioned to the size of the display screen. In the unscaled Zoom In, the selected subspace is kept in its original proportion as in the space from which it was selected. Unscaled tools allow the user to see tendencies, such as decay and growth.
The Zoom In tool operates by grabbing the position of the variable space to be zoomed in, as shown in block 45. This can be accomplished by pointing to the variable space (rectangle) using a mouse or other pointing device. Next, the plotted space (displayed space) is set to the subspace selected in block 45. This is shown in block 46. In block 47, the display space is repainted in either scaled or unscaled version showing the zoomedin subspace. In block 48, control returns to the main event loop to continue scanning for new events.
FIG. 7 shows a flow chart of the Zoom Out tool. The Zoom Out tool corresponds to block 22 (in unscaled form) and block 23 (in scaled form) of FIG. 4. The Zoom Out tool works inversely to the Zoom In tool and, as such, increases the dimensionality of the plot. Note that the dimensionality cannot be increased above the maximum starting value. The subspace which runs slower than the currently displayed slowestrunning variable becomes the currently displayed slowestrunning variable. This, again, is up to the maximum starting value.
An index is kept when zooming into subspaces so that the control system of the present invention can monitor the level of display of the current displayed space.
In block 49, the previous (zoomedin) subspaced index is retrieved. In block 50, the plotted space (displayed space) is set to this subspace index value. In block 51, the plotted space is repainted to the subspace corresponding to this index value. Then, in block 52, control returns to the main event loop and scans for new events. This can be accomplished in numerous ways, and in the present embodiment is operated by clicking on one of the mouse buttons. It could just as easily be configured to work via keyboard commands.
FIG. 8 shows a flow chart for the Animate tool. The Animate tool sequentially displays each subspace in the currently displayed slowestrunning variable. In the present embodiment, the sequential display cycles continually over the subspaces until the user terminates the animation. It is possible in other embodiments to set the cycling to a designated number. It is also possible to have a manually operated cycling operated by a pointing device such as a mouse, or through keyboard commands.
The Animate tool can be operated in unscaled mode 24 or scaled mode 26. As with the other tools, scaled mode proportionally adjusts the currently displayed subspace to fill the display screen, while unscaled mode maintains the sizing of the designated subspace without adjustment.
The Animate tool operates by first retrieving the subspace index in block 53. At decision block 54, it is determined whether to continue with the Animation process. Should the user desire to continue, processing moves along to block 55, where the plotted space is set to the subspace index. In block 56, the plotted space is repainted according to the display for the subspace index. This will be in either scaled or unscaled mode, depending on the user's selection. In block 57, the next subspace index is obtained. Processing then returns to decision block 54, and the user determines whether or not to continue with the animation. Should the decision be "NO," processing continues to block 58 where the plotted space is set to the last subspace index. The screen is then repainted in block 59, and processing returns to the main event loop in block 60.
FIG. 9 shows a flow chart for the Expander tool. The Expander tool is applied about a particular point in the multidimensional space, and displays the variation along each independent variable using a homogeneous horizontal increment for each variable rather than the hierarchical increment which is the basis for the multidimensional graphing and twodimensional spaced method and system. The Expander tool takes a section of each variable through the point expanded upon, but does not sample all points in the display space. This tool is useful for tasks such as finding minima and maxima.
The expander tool allows one to view how the dependent variable changes as one moves away from the point in question in the white independent variable direction until one reaches the edges of the data domain, similarly for the blue, red, etc., independent variables. This tool can clearly be generalized by showing variations as one moves away from the point of expansion in more complex ways that involve nonparallel moves. For example, one could show the variations that occur when, in addition to the standard expander tool moves, one also displays moves about each point that correspond to incrementing all of the other colored variables by ± one. Further generalizations can involve all possible moves about the new points until, in fact, one could show all possible paths through the N dimensional space.
In block 61, the position or point is grabbed. In block 62, a new window is created for displaying the results of the expansion. In block 63, the lines representing the expansion through the point are painted. The painting of the lines is completed in the colors representing the corresponding independent variables. In block 64, processing returns to the main event loop.
FIG. 10 shows a flow chart for the operation of the General Zoom tool. This General Zoom tool sets the limits, left and right, of the currently displayed slowestrunning variable. The General Zoom tool does not change the currently displayed slowestrunning variable. This tool is useful for showing portions of the currently displayed subspace. The General Zoom tool can be used in scaled (block 37) or unscaled (block 38) mode. The scaling and unscaling is exactly the same as has been described for the previous tools. This, as always, is a user designation.
In block 65, the position on the Xaxis is obtained for the left and right boundaries. In block 66, these boundaries are set as left and right limits. In block 67, the subspace is set to the left and right limits which were set in block 66. In block 68, the displayed subspace in repainted with the new left and right boundaries. In block 69, processing returns to the main event loop.
In the present embodiment of the invention, the General Zoom tool applies for all subspaces that the user now goes into and out of. This is a design choice, and is not a limitation of this tool in the present invention. Also, the General Zoom can be reset to the original limits in block 33 of FIG. 4.
FIG. 11 shows a flow chart for the Decimate/Undecimate tools 32, 34, 35 and 36. As with the other tools, the Decimate and Undecimate tools operate in a scaled or unscaled mode.
The Decimate tool decreases the number of currently displayed slowestrunning variable subspaces by only plotting every Nth subspace, where N is the level of decimation. The Undecimate tool operates in the opposite manner, but is limited to undecimating only decimated subspaces.
Without the Decimator tool, an obvious drawback to this embodiment of the invention is that each data point uses at least one horizontal pixel. Since work station monitors generally have about 10^{3} pixels horizontally, this obviously limits the number of total data points displayed at any one time to 10^{3}. This is despite the fact that multidimensional problems tend to require large numbers of data points.
The Decimator tool allows a fraction of the total distinct values for each variable to be displayed. In many cases, this still allows useful interpretation of the data and functions. For example, in a data set that has 10^{6} data points, one can show only the first, fourth, seventh and tenth values for each variable, hence, reducing the total number of points that need to be displayed to 4^{6}, or 4096. This makes it necessary to scroll only four frames, instead of one thousand, to see the "entire" data set.
In order to get a detailed look at a particular subspace, the zoom tool can be used. It is also possible to decimate certain variables in certain increments, while other variables in other increments. In another possible embodiment of this invention, a combination Zoom and Decimator tool is used for handling large data sets.
In block 70, the decimate level is set. This can be done through clicking the buttons on a pointing device, such as a mouse (in the present embodiment), or through keyboard input. In block 71, the subspace is repainted incorporating the decimation or undecimation level. Finally, in block 72, processing control returns to the main event loop.
FIG. 12 shows a flow chart for the Permute tool. The Permute tool changes the hierarchical assignment of the independent variables. The starting assignment is used as a reference for all future assignments. The functional dependence remains unchanged after using the Permute tool. It is only the order in which the data are plotted which is changed. In short, the Permute tool allows for the exchange of the rankings of the independent variables. This is very useful for determining which ranking gives the most useful or most beneficial visual results.
A related tool is the Array Plot tool 31 of FIG. 4. The Array Plot tool can show all or some combinations of rankings of independent variables in the display space. This allows the user to select which ranking gives the best or desired visual results.
In the present embodiment of the invention, the Permute tool works between pairs of variables. This pairwise exchange has been found to be a very practical way of using the Permute tool, but is not a limitation of the present invention.
In block 73, the subspaces are set to permute. In block 74, the data is rearranged according to the new ranking of the independent variables. In block 75, the displayed space is repainted according to the permutation. Finally, in block 76, processing control returns to the main event loop.
FIG. 13 shows a flow chart for the Cloning tool 30. The Cloning tool simply makes a copy of the currently displayed plot and places it in a window in another part of the screen. This allows the concurrent display of various subspaces. These displayed subspaces can be operated on by various tools to show an overall picture for the user. It can also be used to show different "zooms" at the same time for the user.
In block 77, the current plot is painted into the cloning space. In block 78, the clone spot is repainted onto screen. In block 79, processing control returns to the main event loop.
There are other tools in the program structure of FIG. four 4, such as a Resize Tool 40 and Resize Panel 39. The Resize Tool is used for changing the size of the display space. The Resize Panel is used for changing the size of the display panel which monitors the operation of the display space and the various tools operating on it at any given time.
The Splines tool 29 draws lines between rectangles to be used as a guide for the eye. The Splines that are drawn between rectangles are drawn according to the following criteria:
Y=ymin .Iadd.if .Iaddend.ymin>=ymax
Y=ymax .Iadd.if .Iaddend.ymin<ymax
where ymin and ymax are the minima and maxima of the rectangle through which the spline is drawn. The splines are drawn hierarchically, joining rectangles of the same subspace together.
The nested hierarchical rectangles of the present invention correspond to the behavior of the dependent variable W over independent variable subspaces of various dimensionalities. The following formulas are for the vertical and horizontal locations and extents of these rectangles in world coordinates (not screen coordinates). The corresponding screen coordinates would be measured from the lower left corner of the X window and would, in general, be offset in the scale for each independent variable to reflect the fact that the starting values of each variable may not be zero, and the increment value may vary from one independent variable to the next.
It is useful to denote the independent variables as X_{1}, X_{2} . . . X_{n} (instead of Xwhite, Xblue, where the colors pertain to the rectangle colors). Here, X_{1} is the fastestrunning variable, X_{2} is the second fastestrunning variable, and so on. Associated with each value of X_{1} is an independent variable subspace of dimension d=0, i.e., a point. Associated with each value of X_{2} is an independent variable subspace of dimension d=1, i.e., a line (of points). In general, each value of X_{L} corresponds to an independent variable subspace of dimension d=L1, and has a corresponding rectangle (which may be thought of as corresponding to a subspace of dimension L, i.e., L1 independent variables along the horizontal and one dependent variable, namely w, along the vertical).
Each independent variable X_{L} takes on values
X.sub.L,i =X.sub.Ls +(i1)ΔX.sub.L
with i=1 to N_{L}
In general, the starting values X_{Ls} may differ, as may the increments ΔX_{L} and the total number of values NL. In the formulas given below, we will set X_{Ls} =0 and .[.X_{L} =1.]. .Iadd.Δ.Iaddend.X_{L} =1 which, in fact, corresponds more closely to the actual screen displayed rectangles and is essential in order to obtain correct formulas for the locations and extents of the rectangles.
A) The number of Rectangles of Each Type:
the total number of X_{1} rectangles ##EQU1## which corresponds to the number of points (d=0) in the independent variable space.
the total number of X_{2} rectangles ##EQU2## which corresponds to the number of lines (d=1) along the X_{1} direction.
the total number of X_{3} rectangles ##EQU3## which corresponds to the number of planes (d=2), i.e., (X_{1}, X_{2}) planes.
in general ##EQU4## and corresponds to the number of subspaces of dimension d=L1, i.e., (X_{1}, X_{2} . . . X_{L1}) subspaces.
The vertical extent of a rectangle corresponding to a particular value of X_{L}, say, the i^{th} value (hence, corresponding to an independent variable subspace of dimension d=L1), is given by the difference between the maximum value of the dependent variable in that subspace W_{L},i,max and the minimum value W_{l},i,min
i.e., ΔV.sub.L,i =W.sub.L,i,max W.sub.L,i,min
The horizontal extent of a rectangle equals the sum of the corresponding horizontal extents of smaller rectangles within it (which correspond to lower dimensionality) ##EQU5##
It is useful to define N_{0} =1 and to rewrite Δh_{L} as ##EQU6##
The bottom of the rectangle corresponding to a particular value of X_{L} is given by
V.sub.bottom L,i =W.sub.L,i,min
The top of this rectangle is given by
V.sub.top L,i =W.sub.L,i,max
The left edge of a rectangle is located at ##EQU7##
Here, the set of integers j_{L}, j_{L+1} . . . j_{n} specify which X_{L} rectangle (i.e., which subspace of dimension d=L1) one is referring to. Since Δh_{L},left depends on the set {j_{k} }_{k}≧L, one could explicitly write
Δh.sub.L,left ({j.sub.k }.sub.k≧L).
This expression can be made obvious if one uses the result from C above, namely ##EQU8## that is, the sum of moving to the right by (j_{n} 1) largest rectangles of width Δh_{n} plus (j_{n1} 1) next largest etc. plus finally (j_{L} 1) Δh_{L}. Again, the set of integers j_{n}, j_{n1} . . . j_{L} specify which X_{L} rectangle (i.e., which subspace of independent variable dimension d=L1) one is referring to.
The right side of the rectangle and its center are given by
h.sub.L, right =h.sub.L, left +Δh.sub.L
h.sub.L, right =h.sub.L, left +1/2Δh.sub.L
The Zoom In Tools (scaled and unscaled) reduce the dimensionality n.
The Zoom Out Tools (scaled and unscaled) increase the dimensionality n (up to the maximum starting value).
The Animate Tools (scaled and unscaled) increment the value j_{L}.
The General Zoom Tools (scaled and unscaled) reduce N_{L} with values of X_{L} remaining contiguous, i.e., X_{L} constant.
The General Zoom Reset Tool restores N_{L} to its original value.
The Decimate Tools (scaled and unscaled) reduce N_{L} with X_{L} increasing.
The Undecimate Tools (scaled and unscaled) restore N_{L} to its original value.
The Permute Tool interchanges two variables say X_{i} X_{j} hence, in general, affecting N_{i} and N_{j} (and in general the pattern of hierarchical rectangles unless N_{i} =N_{j}, {X_{i} }={X_{j} } and w has the exact same functional dependence on X_{i} and X_{j}).
The Resize Tools simply alter the size of the X window or slider widgets (Resize Panel tool).
The Clone Tool simply clones an existing X window.
The Expander Tool is applied about a particular selected point in the multidimensional space and displays the variation along the variable (X_{1}) direction, variable (X_{2}) direction, etc. using a homogeneous horizontal increment for each variable rather than a hierarchical increment.
That is, the Expander Tool displays
______________________________________ W(X.sub.1, X.sub.2selected, X.sub.3selected . . . X.sub.4selected) vs X.sub.1 and W(X.sub.1selected, X.sub.2, X.sub.3selected . . . X.sub.1selected) vs X.sub.2.. W(X.sub.1 selected, X.sub.2selected, X.sub.3selected, X.sub.n) vs X.sub.n as simple colorcoded x,y plots.______________________________________
FIG. 14 shows an example of a computer system 80 on which the present invention can be run. It is comprised of monitor 81, CPU and mass storage device 82, keyboard 83 and mouse 84. Computer system 80 can be in many configurations.
In the present embodiment of the invention, the multidimensional graphing in twodimensional space software was developed and is being run on a Hewlett Packard model 330CH computer, which is described generically as a Motorola 68020 microprocessor, a
Motorola 68881 floating point coprocessor, a 1280×1024 8plane graphics card, and 4 megabytes of dynamic RAM. The operating system being used is Hewlett Packard HPUX version 7.0. The program environment is C using the HPUX Ccompiler. The graphics environment is the X Windows System™, as implemented by Hewlett Packard in HPUX 7.0. Those skilled in the art will understand that the present method and system are not limited to this computer system and operating environment. In fact, successful operation of the system has been accomplished on a Sun SPARC station 1 and a Sun 3, both running Sun Operating System; Solbourne computers running Sun Operating System; and 386 machines running Interactive Unix.
A software appendix of the source code implementing the present invention is included.
FIG. 15 shows an irregularly spaced grid and the corresponding plotting of rectangles, respectively.
In irregularly spaced independent variable grid 14A, there is shown multiple data points with spacings Δ_{1}, Δ_{2}, Δ_{3}, Δ_{4} along the Yaxis and spacings δ_{1}, δ_{2}, δ_{3} along the Xaxis.
FIG. 15B is one possible rendering involving hierarchical rectangles for the function W=X_{2} +Y_{2}. Note that horizontal gaps appear between the rectangles, but that all the rectangles are of the same width.
Even though the Δ and δ distances shown in FIG. 15A are integer multiples of Δ_{i} and δ_{i}, it is not a limitation of the system.
FIGS. 16A and 16B show a case of nongrid sampling of independent variables which are not completely random. A variety of samplings of the independent variable space which are not gridlike, and which are also not perfectly random are possible. Using the data set in FIG. 16A, and applying the function W=X^{2} +Y^{2}, the rendering involving hierarchical rectangles in FIG. 16B comes about. Note that the widths of the rectangles vary to reflect the extent of the Xaxis variable being sampled.
The invention can be extended to the case of randomly sampled independent variables in other ways. First, one could use multilinear interpolation or more advanced methods to evaluate the dependent variable over a standard grid and then use the invention. Second, one could first treat the "dependent" variable on the exact same footing as the independent variables and perform a multivariate binning. In this case, the number of points in an N+1 dimensional bin (i.e., N original independent variables plus the original dependent variable) would become the new dependent variable and the newly quantized (via the binning process) old dependent variable would be mapped to the hierarchical horizontal axis. This would allow one to look for correlations between the horizontal axis variables. FIGS. 17A and 17B show the simple case of no correlation between the original dependent variable and one independent variable.
FIGS. 18A and 18B show the simple case w=x^{2} with no noise and, hence, perfect correlation. The uncorrelated case will show, for example, gaussians of gaussians if the variables are normally distributed. The important point is that the distributions differ from one value of the slower variable to the next only in their amplitude. Note, however, that in the correlated case, the distributions clearly evolve in an orderly fashion not involving a simple amplitude scaling.
Just as one can replace standard 2 dimensional Cartesian x,y plots by the present invention, wherein the dependent variable is plotted along the vertical axis while all independent variables .[.all plotting.]. .Iadd.are plotted .Iaddend.hierarchically along the horizontal axis, one can replace standard 2d color maps, where the independent variables, say x and y, are plotted along the horizontal and vertical respectively, and color is used to denote the value of the dependent variable, in which both the vertical and horizontal axes are hierarchical. That is, some independent variables are mapped hierarchically to the horizontal axis, and the rest are mapped hierarchically to the vertical axis. In this case, the color of the resulting nested rectangles could be determined by the values of the dependent variable over the corresponding subspace in a variety of ways, such as the maximum within the subspace, the minimum within the subspace, etc., One could also color only those rectangles that have values falling within a specified range of the dependent variable, the remaining rectangles being shown in black.
In FIG. 19, this scheme is shown for the case w=x_{1} ^{2} +y_{2} ^{2} +z_{3} ^{2} +r_{4} ^{2}. Here, w is the dependent variable and x_{1}, y_{2}, z_{3} and r_{4} are four independent variables, each of which takes on values of 1, 0 and 1. Therefore, the total number of points is 3^{4} =81. Here, a complete set of tools analogous to those described above could be used for both the independent variables and the dependent variable.
In multidimensional graphing in twodimensional space, it is possible to produce graphs using two or more dependent variables. The prior examples illustrate cases using one dependent variable and multiple independent variables.
In cases where the multiple dependent variables are defined for the same set of independent variables or for some common subset of independent variables, it can be very useful to display all of the dependent variables in the same graph. This allows for visualizing possible correlations which may be occurring between the dependent variables for certain combinations of the independent variables.
One way of accomplishing this is to establish one or more new independent variables which are associated with the set of dependent variables. The new independent variables which refer to dependent variables are called dependent variable selection, or DVS variables. For example, in plotting Rdependent variables, each of which is a scalar, a DVS variable would be established having values 1, 2, 3, . . . R. The collection of R dependent variables in this example can be thought of as a vector, or a singly subscripted array (i.e., A_{i} with i=1 to R).
This singly subscripted array may not correspond physically to a vector. In some cases, it could refer to a collection of variables, such as specific heat, lattice constant, magnetic susceptibility, and thermal conductivity. This collection would not normally be thought of as components of a vector, but could very well be part of a materials properties database. It must be repeated that the applicability of the present invention is not limited to mathematical formulas, but rather to all functions. As functions are defined as a locus of points, many forms of data are applicable for graphing with the present invention. This includes database information, statistical information, matrix information, and mathematical formulas. Another example of dependent variables could be the x, y, and z components of a vector representing an electric field.
Whether it is a simple database component or a component of a mathematical formula, the use of new independent variables representing the DVS allows for multiple dependent variable representation. In the case of a materials property database, a new independent DVS variable could be established having a value of 1 representing specific heat; a value of 2 representing the lattice constant; a value of 3 representing magnetic susceptibility; and a value of 4 representing thermal conductivity. In the case of the electric field vector, a value of 1 could represent the x component of the vector; the value 2 could represent the y component; and the value 3 could represent the z components of the vector.
It is also possible to portray the multiple dependent variables as doubly subscripted arrays of the form A_{ij}. In this example, two DVS variables are created, with one covering the range of integers i (i=1 to R_{i}) and the other covering the range of integers j (j=1 to R_{j}). For this doubly subscripted array example, the number of scalar dependent variables is R_{i} * R_{j}, as long as there are no missing values.
The collection of values for A_{ij} might actually correspond to a property which is usually regarded as a tensor or a matrix.
The collection of data values may also be organized into R_{i} categories, with each category having one or more properties (dependent variables) within it. In this case, the first dependent variable (the i in A_{ij}) could be thermodynamic properties. The second dependent variable (the _{j} in A_{ij}) could represent several different properties within this variable. This organization structure would be repeated for the other first dependent variables. In all cases, the multidimensional graphing in twodimensional space allows for database visualization and the use of the tools that have been previously described.
Further examples could involve multiple dependent variables that involve arrays with three or four or more subscripts by introducing three or four or more DVS variables to represent them. In each case, the DVS variables are treated in the same manner as all other independent variables. Further, the DVS variables will also function with nonregular grid values (grid spacing) as described with reference to FIGS. 1518.
Shown in FIGS. 20A, 20B, 20C, and 2123 are examples where one DVS independent variable has been added for the case of three dependent variables.
FIGS. 20A, 20B, 20C, and 2123 illustrate examples of the present invention, where one DVS independent variable has been added corresponding to three dependent variables. In FIG. 20A, there is shown a multidimensional graph in twodimensional space for a dependent variable A versus two independent variables, t and h. Here, t is represented as the fastestrunning variable and h as the slowestrunning variable. Each independent variable in FIG. 20A has three associated values.
FIG. 20B is a graph for a second dependent variable B. The values of B can be normalized so that the numerical value of the maximum value of B (B_{max}) is identical to the maximum value of A (A_{max}) of FIG. 20A. In general, the values of the independent variables of A and B can be different. The two independent variables in FIG. 20B are identical to those in FIG. 20A, with t being the fastestrunning variable and h being the slowestrunning variable.
FIG. 20C is a graph for a third dependent variable C. Again, the values of C have been normalized so that C_{max} =A_{max}. The two independent variable t and h are identical to those in FIGS. 20A and 20B, with t as the fastestrunning variable and h as the slowestrunning variable.
If the dependent variables A, B and C have the same unit or dimension, as in the case of the three components of a vector, it might not be desirable to normalize them so that A_{max} =B_{max} =C_{max}. This is obviously dependent upon the application for which the present invention is being applied.
FIG. 21 is a graph of the results after defining a new DVStype independent variable. In FIGS. 20A, 20B, and 20C, the DVS independent variable is the slowestrunning variable, t is the fastestrunning variable, and h is the second fastestrunning variable.
FIG. 22 is a graph of the same information as in FIG. 21, except that the DVS independent variable is displayed as the fastestrunning variable, while t is the second fastestrunning variable, and h is the slowestrunning variable.
FIG. 23 is a graph of the same information as in FIGS. 21 and 22, except that t is now the fastestrunning variable, the DVS independent variable is the second fastestrunning variable, and h is the slowestrunning variable.
FIG. 24 is a multidimensional graph in twodimensional space, wherein the rectangles have a width corresponding to the independent variable .[.value.]. .Iadd.with which they are associated.Iaddend.. The vertical .Iadd.extent .Iaddend.or height of the rectangles from .[.zero on the yaxis.]. .Iadd.the Xaxis (Y=0) .Iaddend.is determined by summing the heights or vertical distances of the preceding slowestrunning variable (the largest rectangle contained within the rectangle of interest). This provides a different visualization of the function being graphed than the manner of graphing where the rectangle's vertical boundaries were based on the minimum and maximum values of the preceding rectangles (largest rectangles contained within the rectangle of interest).
The rectangles are colored, as in the other cases. An additional feature allows the user to select which rectangle is to be drawn first, and, therefore, could possibly be masked or partially masked by later drawn rectangles. The user also may select the order in which the remaining rectangles are drawn. When the graphing of the rectangles is complete, the user can choose to redraw any particular rectangles to account for masking.
To illustrate drawing the rectangles, consider a rectangle corresponding to an independent variable subspace of dimension r. The nonzero vertical end (other vertical extreme) of this rectangle, V_{r}, is given by the equation ##EQU9## where V_{r1},i is the nonzero vertical extreme of the i^{th} rectangle corresponding to a subspace of dimension r1 and n_{r1} is the total number of rectangles corresponding to a subspace of dimension r1.
The graph shown in FIG. 24 shows a multidimensional graph in twodimensional space with rectangles based on the sum of the next largest rectangles contained within. For the simple three independent variable case of FIG. 24, black is the fastest variable, blue is the nextfastest and red is the slowestrunning variable. The black and blue variables have three values, while the red variable has four values. In this case, the dependent variable is positive definite (i.e., either positive or zero).
FIG. 25 shows another graph where the height of the rectangles are determined by summing the values of the nextlargest rectangle contained within the rectangle of interest.
The graphing of rectangles using minimum and maximum as for graphs prior to FIG. 23 can be expressed recursively as:
V_{rlower} =minimum of all V_{r1} within the r subspace rectangle width of interest;
and
V_{rupper} =maximum of all V_{r1} within the r subspace rectangle width of interest;
and
.[.V_{olower} =V_{olower} .]. .Iadd.V_{0lower} =V_{0upper} .Iaddend.=W the value of the dependent variable at the point of interest.
Similarly, the graphing of rectangles using the summation of the nextlargest rectangles contained within the rectangle of interest can be expressed recursively as: ##EQU10## A simple variation on this scheme would be to use the average, i.e., ##EQU11##
In FIG. 25, the black rectangles are the fastestrunning variable, the blue rectangles are the .[.next.]. .Iadd.second .Iaddend.fastest, the red rectangles are the .[.nextfastest.]. .Iadd.third fastest.Iaddend., and the yellow .[.rectangle is.]. .Iadd.rectangles are .Iaddend.the slowestrunning variable. Different from the other figures, it can be seen that certain rectangles contain slowerrunning variables having a vertical dimension which exceeds the vertical dimension of the slowerrunning variable. These rectangles exceed the slowerrunning variable in both the positive and negative directions, as shown at red_{1}, blue_{2}, black_{2} and red_{3}, blue_{2}, black_{3}, respectively. With the use of negative values, it is possible for a nested rectangle to exceed the sum of the nested rectangles, as a negative value takes away from the summed value. In this particular graph, the summed values are not summed absolute values.
In FIG. 25, the base of each rectangle is always at zero, and the other vertical extremity is based upon the sum of the next slowestrunning variable contained within.
There is shown in FIG. 26 a graph for a case where the vertical extreme (the other end of the rectangle away from the zero base) is a new function of the vertical extremes of rectangles corresponding to r1 dimensional subspaces within the rdimensional subspace.
It can be seen that one vertical extreme is set to zero, while the other vertical extreme is obtained by summing the nonzero vertical coordinates of a subset of the nested rectangles according to the following formula: ##EQU12##
It is possible to let the functions depend on which subspace of dimensions r one is considering. In this case, the functions could depend on the values of slowerrunning variables. In general, both vertical extremes of a given rectangle could depend on any function of the vertical extremes of smaller rectangles and/or the values of all slower and fasterrunning independent variables.
Those skilled in the art will immediately recognize the utility of the present invention in the areas of graphing and data/function analysis.
It will be apparent to those skilled in the art that various modifications can be made to the system and method for graphing multidimensional data sets and functions of the present invention without departing from the scope or spirit of the invention, and it is intended that the present invention cover modifications and variations of the system and method for graphing multidimensional data sets and functions provided they come within the scope of the appended claims and their equivalents.
Claims (29)
Priority Applications (3)
Application Number  Priority Date  Filing Date  Title 

US58982090 true  19900928  19900928  
US07608337 US5228119A (en)  19900928  19901102  Multidimensional graphing in twodimensional space 
US08497994 USRE36840E (en)  19900928  19950703  Multidimensional graphing in twodimensional space 
Applications Claiming Priority (1)
Application Number  Priority Date  Filing Date  Title 

US08497994 USRE36840E (en)  19900928  19950703  Multidimensional graphing in twodimensional space 
Related Parent Applications (2)
Application Number  Title  Priority Date  Filing Date  

US58982090 ContinuationInPart  19900928  19900928  
US07608337 Reissue US5228119A (en)  19900928  19901102  Multidimensional graphing in twodimensional space 
Publications (1)
Publication Number  Publication Date 

USRE36840E true USRE36840E (en)  20000829 
Family
ID=27080670
Family Applications (2)
Application Number  Title  Priority Date  Filing Date 

US07608337 Expired  Lifetime US5228119A (en)  19900928  19901102  Multidimensional graphing in twodimensional space 
US08497994 Expired  Lifetime USRE36840E (en)  19900928  19950703  Multidimensional graphing in twodimensional space 
Family Applications Before (1)
Application Number  Title  Priority Date  Filing Date 

US07608337 Expired  Lifetime US5228119A (en)  19900928  19901102  Multidimensional graphing in twodimensional space 
Country Status (5)
Country  Link 

US (2)  US5228119A (en) 
JP (1)  JPH06507261A (en) 
CA (1)  CA2092570A1 (en) 
EP (1)  EP0550617A4 (en) 
WO (1)  WO1992006425A1 (en) 
Cited By (18)
Publication number  Priority date  Publication date  Assignee  Title 

WO2001067395A1 (en) *  20000309  20010913  Vladimir Sevastyanov  Method of visualization and graphical analysis for multidimensional functions 
US6366907B1 (en)  19991215  20020402  Napster, Inc.  Realtime search engine 
US6384847B1 (en) *  19920320  20020507  International Business Machines Corporation  Interactive graphical method for analyzing manydimensional data sets 
US20030122827A1 (en) *  20011231  20030703  Van Koningsveld Richard A.  Multivariate data and related presentation and analysis 
US6618052B1 (en) *  19990622  20030909  Trimble Navigation Ltd.  Method and apparatus of graphical display of information 
US6742023B1 (en)  20000428  20040525  Roxio, Inc.  Usesensitive distribution of data files between users 
US6747650B2 (en)  20020422  20040608  Battelle Memorial Institute  Animation techniques to visualize data 
US6879325B1 (en) *  19991126  20050412  Curvaceous Software Limited  Multivariable processes 
US6879864B1 (en) *  20000303  20050412  Tektronix, Inc.  Dualbar audio level meter for digital audio with dynamic range control 
US7089301B1 (en)  20000811  20060808  Napster, Inc.  System and method for searching peertopeer computer networks by selecting a computer based on at least a number of files shared by the computer 
US7310629B1 (en)  19991215  20071218  Napster, Inc.  Method and apparatus for controlling file sharing of multimedia files over a fluid, decentralized network 
US20090099831A1 (en) *  20040719  20090416  Texas Instruments Incorporated  Method for generating and evaluating a table model for circuit simulation 
US20110169835A1 (en) *  20080620  20110714  Business Inteeligence Solutions Safe B.V.  Dimension reducing visual representation method 
USD691168S1 (en) *  20111026  20131008  Mcafee, Inc.  Computer having graphical user interface 
USD692451S1 (en)  20111026  20131029  Mcafee, Inc.  Computer having graphical user interface 
USD693845S1 (en)  20111026  20131119  Mcafee, Inc.  Computer having graphical user interface 
USD722613S1 (en)  20111027  20150217  Mcafee Inc.  Computer display screen with graphical user interface 
US9153051B2 (en)  20130301  20151006  Business Objects Software Limited  Visualization of parallel coordinates 
Families Citing this family (41)
Publication number  Priority date  Publication date  Assignee  Title 

US5307455A (en) *  19900411  19940426  Hewlett Packard Company  Display of multiple variable relationships 
JP2732711B2 (en) *  19901220  19980330  株式会社日立製作所  Multidimensional information display method and apparatus 
US5491779A (en) *  19920403  19960213  Bezjian; Richard D.  Three dimensional presentation of multiple data sets in unitary format with pie charts 
US5742290A (en) *  19920903  19980421  Fujitsu Limited  Molecular orbital modeling system with an improved function processor 
US5404105A (en) *  19930712  19950404  Chari; Nallan C. A.  Multipurpose hearing aid maintenance device 
US5632009A (en) *  19930917  19970520  Xerox Corporation  Method and system for producing a table image showing indirect data representations 
US5479683A (en) *  19931229  19960102  Bausch & Lomb Incorporated  Threedimensional eyewinder apparatus 
US5479592A (en) *  19940301  19951226  Stenhouse; Michael S.  Method of simultaneously analyzing a plurality of performance statistics of an athlete 
US5452410A (en) *  19940416  19950919  Si Software Limited Partnership  Apparatus and method for graphical display of statistical effects in categorical and continuous outcome data 
US5581677A (en) *  19940422  19961203  Carnegie Mellon University  Creating charts and visualizations by demonstration 
US5838938A (en)  19950215  19981117  Sony Electronics, Inc.  Multimedia user interface employing components of color to indicate the values of variables 
JP3273729B2 (en) *  19960607  20020415  コナミ株式会社  Driving game machine 
US6480194B1 (en)  19961112  20021112  Silicon Graphics, Inc.  Computerrelated method, system, and program product for controlling data visualization in external dimension(s) 
US6373483B1 (en)  19970113  20020416  Silicon Graphics, Inc.  Method, system and computer program product for visually approximating scattered data using color to represent values of a categorical variable 
US6104410A (en) *  19970117  20000815  ShuiYing Wong  Method and apparatus for displaying stacked symbols to create a multidimensional view 
EP0863469A3 (en) *  19970210  20020109  Nippon Telegraph And Telephone Corporation  Scheme for automatic data conversion definition generation according to data feature in visual multidimensional data analysis tool 
US6278464B1 (en)  19970307  20010821  Silicon Graphics, Inc.  Method, system, and computer program product for visualizing a decisiontree classifier 
US6137499A (en) *  19970307  20001024  Silicon Graphics, Inc.  Method, system, and computer program product for visualizing data using partial hierarchies 
US5999918A (en) *  19970402  19991207  Rational Investors, Inc.  Interactive color confidence indicators for statistical data 
US6271860B1 (en) *  19970730  20010807  David Gross  Method and system for display of an additional dimension 
US6728724B1 (en)  19980518  20040427  Microsoft Corporation  Method for comparative visual rendering of data 
JP2000048087A (en) *  19980715  20000218  Internatl Business Mach Corp <Ibm>  View synthesizing system 
US6301579B1 (en)  19981020  20011009  Silicon Graphics, Inc.  Method, system, and computer program product for visualizing a data structure 
EP1208472A4 (en)  19990614  20050323  Compudigm Int Ltd  Data visualisation system and method 
GB9917283D0 (en) *  19990722  19990922  Churchill Risk Management Syst  Status management system 
US6515664B1 (en)  19991112  20030204  Pixaround.Com Pte Ltd  Fast singlepass cylindrical to planar projection 
US6750864B1 (en)  19991115  20040615  Polyvista, Inc.  Programs and methods for the display, analysis and manipulation of multidimensional data implemented on a computer 
JP2006504071A (en)  20020322  20060202  フェノメノーム ディスカバリーズ インク  How to visualize the nontarget metadata rags Nix data generated using a Fourier transform ion cyclotron resonance mass spectrometer 
US7283664B2 (en) *  20020925  20071016  Southwest Research Institute  Interactive computer aided analysis of images from sensor combinations 
US7825929B2 (en) *  20030404  20101102  Agilent Technologies, Inc.  Systems, tools and methods for focus and context viewing of large collections of graphs 
US7750908B2 (en) *  20030404  20100706  Agilent Technologies, Inc.  Focus plus context viewing and manipulation of large collections of graphs 
US7218325B1 (en) *  20040331  20070515  Trading Technologies International, Inc.  Graphical display with integrated recent period zoom and historical period context data 
US8269774B2 (en)  20040331  20120918  Trading Technologies International, Inc.  Graphical display with integrated recent period zoom and historical period context data 
US7986323B2 (en) *  20060705  20110726  International Business Machines Corporation  Two dimensional user interface for multidimensional data analysis 
US20080062176A1 (en) *  20060907  20080313  Agilent Technologies, Inc.  Method For Generating Graphs For The Comparison Of Data 
US8924843B1 (en) *  20070430  20141230  HewlettPackard Development Company, L.P.  Visualizing a plurality of times series in corresponding cellbased lines of a display region 
US8786628B2 (en) *  20070914  20140722  Microsoft Corporation  Rendering electronic chart objects 
US8370759B2 (en) *  20080929  20130205  Ancestry.com Operations Inc  Visualizing, creating and editing blending modes methods and systems 
US9250926B2 (en) *  20090430  20160202  Microsoft Technology Licensing, Llc  Platform extensibility framework 
US8638343B2 (en) *  20090430  20140128  Microsoft Corporation  Data visualization platform performance optimization 
CN102879471B (en) *  20120921  20140820  何鲜峰  Structural tomography method based on chart control 
Citations (3)
Publication number  Priority date  Publication date  Assignee  Title 

US5121470A (en) *  19900201  19920609  Intellimetrics Instrument Corporation  Automated interactive record system 
US5136690A (en) *  19890807  19920804  At&T Bell Laboratories  Dynamic graphical analysis of network data 
US5179643A (en) *  19881223  19930112  Hitachi, Ltd.  Method of multidimensional analysis and display for a large volume of record information items and a system therefor 
Patent Citations (3)
Publication number  Priority date  Publication date  Assignee  Title 

US5179643A (en) *  19881223  19930112  Hitachi, Ltd.  Method of multidimensional analysis and display for a large volume of record information items and a system therefor 
US5136690A (en) *  19890807  19920804  At&T Bell Laboratories  Dynamic graphical analysis of network data 
US5121470A (en) *  19900201  19920609  Intellimetrics Instrument Corporation  Automated interactive record system 
NonPatent Citations (34)
Title 

"A Triangulation Method for the Sequential Mapping of Points form NSpace to TwoSpace" R.C.T. Lee, J.R. Slagle & H. Blum, IEEE Transactions, Computers, Mar. 1977, pp. 288292. 
"Dynamic Graphics for Statistics", edited by William S. Cleveland and Marylyn D. McGill, Wadsworth, Delmont, Calif. (copy not supplied), 1988. 
"Dynamic Graphics for Statistics," edited by William S. Cleveland and Marylyn E. McGill, WadsworthBrooks/Cole, Belmont, Calif. 1988 (pp. 113 enclosed). 
"Exploratory Data Analysis", John W. Tukey, AddisonWesley, Reading Mass., (cover material only provided), 1977. 
"Exvis: an Exploratary Visualization Environment," G. Grinstein, R.M. Picket & M.G. Williams, Graphics Interface '89 (proceedings) pp. 254261 Canadian Int. Process Soc., Toronto, Ontario, Canada (1989). 
"Graphical Methods for Data Analysis," Wadsworth International Group, Belmont, Calif. Duxbury Press, Boston, Mass. (1983), pp. 141145 and 165171. 
"Graphics for the Multivariate TwoSample Problem," Friedman and Rafsky, Journal of the American Statistical Association, vol. 76, No. 364, pp. 227228, Jun. 1981. 
"Parallel Coordinates: A Tool for Visualizing MultiDimensional Geometry," Inselberg and Dimsdale Proceedings of the 1st IEEE Conference on Visualization, Visualization '90 (edited by ArieKaufman), IEEE Computer Society Press, Los Alamites, 1990, pp. 361378. 
"Representing Points in Many Dimensions by Trees and Castles," Kleiner & Hartigan; Journal of the Amer. Stat. Assoc., vol. 76, No. 374, pp. 260276, Jan. 1981. 
"The Use of Faces to Represent Points in kDimensional Space Graphically" Herman Chernoff, Journal of the American Statistical Association, vol. 68, No. 342, pp. 361368 Jun. 1973. 
"The Visual Display of Quantitative Information", Graphics Press, Cheshire Conn., (cover material only provided), 1983. 
"Visualizating nD Virtual Worlds with nVision," Computer Graphics, 24(2), Feiner & Besshers, pp. 3738, Mar. 1990 (proc. 1990 Symp. on Interactive 3D Graphics, Snowbird, Utah, Mar. 2528, 1990. 
1987 Sale of Data Analysis Tool for Use on HP Series 9000 Computers, Models 200 and 300 (copy not supplied), 1987. * 
A Triangulation Method for the Sequential Mapping of Points form N Space to Two Space R.C.T. Lee, J.R. Slagle & H. Blum, IEEE Transactions, Computers, Mar. 1977, pp. 288 292. * 
Cleveland et al., "Graphical Perception and Graphical Methods for Analyzing Scientific Data", Science, vol. 229, pp. 828833, Aug. 1985. 
Cleveland et al., "Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods", Journal of the American Statistical Association, vol. 79, No. 387, pp. 531554, Sep. 1984. 
Cleveland et al., Graphical Perception and Graphical Methods for Analyzing Scientific Data , Science, vol. 229, pp. 828 833, Aug. 1985. * 
Cleveland et al., Graphical Perception: Theory, Experimentation, and Application to the Development of Graphical Methods , Journal of the American Statistical Association, vol. 79, No. 387, pp. 531 554, Sep. 1984. * 
Computer, IEEE Society, (copy not supplied), Aug. 1989. * 
Dynamic Graphics for Statistics , edited by William S. Cleveland and Marylyn D. McGill, Wadsworth, Delmont, Calif. (copy not supplied), 1988. * 
Dynamic Graphics for Statistics, edited by William S. Cleveland and Marylyn E. McGill, Wadsworth Brooks/Cole, Belmont, Calif. 1988 (pp. 1 13 enclosed). * 
Exploratory Data Analysis , John W. Tukey, Addison Wesley, Reading Mass., (cover material only provided), 1977. * 
Exvis: an Exploratary Visualization Environment, G. Grinstein, R.M. Picket & M.G. Williams, Graphics Interface 89 (proceedings) pp. 254 261 Canadian Int. Process Soc., Toronto, Ontario, Canada (1989). * 
Graphical Methods for Data Analysis , Chambers et al., Wadsworth International Group, Belmont, Calif. Duxbury Press, Boston, Mass. (1983), Title pages, Table of Contents and entire Chapter 5. * 
Graphical Methods for Data Analysis, Chambers et al., Wadsworth International Group, Belmont, Calif. Duxbury Press, Boston, Mass. (1983), Title pages, Table of Contents and entire Chapter 5. 
Graphical Methods for Data Analysis, Wadsworth International Group, Belmont, Calif. Duxbury Press, Boston, Mass. (1983), pp. 141 145 and 165 171. * 
Graphics for the Multivariate Two Sample Problem, Friedman and Rafsky, Journal of the American Statistical Association, vol. 76, No. 364, pp. 227 228, Jun. 1981. * 
Parallel Coordinates: A Tool for Visualizing Multi Dimensional Geometry, Inselberg and Dimsdale Proceedings of the 1st IEEE Conference on Visualization, Visualization 90 (edited by ArieKaufman), IEEE Computer Society Press, Los Alamites, 1990, pp. 361 378. * 
Representing Points in Many Dimensions by Trees and Castles, Kleiner & Hartigan; Journal of the Amer. Stat. Assoc., vol. 76, No. 374, pp. 260 276, Jan. 1981. * 
Semiology of Graphing , translated by William J. Berg, The University of Wisconsin Press, 114 North Murray Street, Madison, WI. 53715, (1983), Title pages, Table of Contents and pp. 28 98, 139 159, 171 174, and 217 268. * 
Semiology of Graphing, translated by William J. Berg, The University of Wisconsin Press, 114 North Murray Street, Madison, WI. 53715, (1983), Title pages, Table of Contents and pp. 2898, 139159, 171174, and 217268. 
The Use of Faces to Represent Points in k Dimensional Space Graphically Herman Chernoff, Journal of the American Statistical Association, vol. 68, No. 342, pp. 361 368 Jun. 1973. * 
The Visual Display of Quantitative Information , Graphics Press, Cheshire Conn., (cover material only provided), 1983. * 
Visualizating n D Virtual Worlds with n Vision, Computer Graphics, 24(2), Feiner & Besshers, pp. 37 38, Mar. 1990 (proc. 1990 Symp. on Interactive 3D Graphics, Snowbird, Utah, Mar. 25 28, 1990. * 
Cited By (31)
Publication number  Priority date  Publication date  Assignee  Title 

US6384847B1 (en) *  19920320  20020507  International Business Machines Corporation  Interactive graphical method for analyzing manydimensional data sets 
US6618052B1 (en) *  19990622  20030909  Trimble Navigation Ltd.  Method and apparatus of graphical display of information 
US6879325B1 (en) *  19991126  20050412  Curvaceous Software Limited  Multivariable processes 
US6366907B1 (en)  19991215  20020402  Napster, Inc.  Realtime search engine 
US7165071B2 (en)  19991215  20070116  Napster, Inc.  Realtime search engine 
US7310629B1 (en)  19991215  20071218  Napster, Inc.  Method and apparatus for controlling file sharing of multimedia files over a fluid, decentralized network 
US6879864B1 (en) *  20000303  20050412  Tektronix, Inc.  Dualbar audio level meter for digital audio with dynamic range control 
US6417852B2 (en) *  20000309  20020709  Vladimir Sevastyanov  Method of visualization and graphical analysis for multidimensional functions 
WO2001067395A1 (en) *  20000309  20010913  Vladimir Sevastyanov  Method of visualization and graphical analysis for multidimensional functions 
US6742023B1 (en)  20000428  20040525  Roxio, Inc.  Usesensitive distribution of data files between users 
US7089301B1 (en)  20000811  20060808  Napster, Inc.  System and method for searching peertopeer computer networks by selecting a computer based on at least a number of files shared by the computer 
US7061490B2 (en) *  20011231  20060613  Polynarythink, Llc  Multivariate data and related presentation and analysis 
US20030122827A1 (en) *  20011231  20030703  Van Koningsveld Richard A.  Multivariate data and related presentation and analysis 
US6747650B2 (en)  20020422  20040608  Battelle Memorial Institute  Animation techniques to visualize data 
US8341566B2 (en)  20040719  20121225  Texas Instruments Incorporated  Method for generating and evaluating a table model for circuit simulation 
US20090099831A1 (en) *  20040719  20090416  Texas Instruments Incorporated  Method for generating and evaluating a table model for circuit simulation 
US8146031B2 (en) *  20040719  20120327  Texas Instruments Incorporated  Method for generating and evaluating a table model for circuit simulation 
US8866816B2 (en)  20080620  20141021  New Bis Safe Luxco S.A R.L  Dimension reducing visual representation method 
US20110169835A1 (en) *  20080620  20110714  Business Inteeligence Solutions Safe B.V.  Dimension reducing visual representation method 
US9355482B2 (en)  20080620  20160531  New Bis Safe Luxco S.À R.L  Dimension reducing visual representation method 
USD691167S1 (en) *  20111026  20131008  Mcafee, Inc.  Computer having graphical user interface 
USD692453S1 (en)  20111026  20131029  Mcafee, Inc.  Computer having graphical user interface 
USD692451S1 (en)  20111026  20131029  Mcafee, Inc.  Computer having graphical user interface 
USD692452S1 (en) *  20111026  20131029  Mcafee, Inc.  Computer having graphical user interface 
USD692454S1 (en)  20111026  20131029  Mcafee, Inc.  Computer having graphical user interface 
USD692912S1 (en)  20111026  20131105  Mcafee, Inc.  Computer having graphical user interface 
USD693845S1 (en)  20111026  20131119  Mcafee, Inc.  Computer having graphical user interface 
USD691168S1 (en) *  20111026  20131008  Mcafee, Inc.  Computer having graphical user interface 
USD692911S1 (en) *  20111026  20131105  Mcafee, Inc.  Computer having graphical user interface 
USD722613S1 (en)  20111027  20150217  Mcafee Inc.  Computer display screen with graphical user interface 
US9153051B2 (en)  20130301  20151006  Business Objects Software Limited  Visualization of parallel coordinates 
Also Published As
Publication number  Publication date  Type 

EP0550617A4 (en)  19940713  application 
JPH06507261A (en)  19940811  application 
WO1992006425A1 (en)  19920416  application 
EP0550617A1 (en)  19930714  application 
US5228119A (en)  19930713  grant 
CA2092570A1 (en)  19920329  application 
Similar Documents
Publication  Publication Date  Title 

Clark  Hierarchical geometric models for visible surface algorithms  
Korfhage  To see, or not to see—is That the query?  
Gortler et al.  Hierarchical and variational geometric modeling with wavelets  
Frisken et al.  Simple and efficient traversal methods for quadtrees and octrees  
US5289567A (en)  Computer apparatus and method for finite element identification in interactive modeling  
US5889523A (en)  Method and apparatus for dynamically grouping a plurality of graphic objects  
Feiner et al.  Worlds within worlds: Metaphors for exploring ndimensional virtual worlds  
US5623590A (en)  Dynamic graphics arrangement for displaying spatialtimeseries data  
US5610828A (en)  Graphical system for modelling a process and associated method  
US5621871A (en)  Automated system and method for annotation using callouts  
US5333244A (en)  Method of and system for displaying a scalar quantity distribution  
US5150457A (en)  Enhanced visualization using translucent contour surfaces  
De Oliveira et al.  From visual data exploration to visual data mining: a survey  
Bier et al.  Toolglass and magic lenses: the seethrough interface  
US7123269B1 (en)  Modifying vector objects  
US5894309A (en)  System for modifying lighting in photographs  
US7495678B2 (en)  Navigating digital images using detailincontext lenses  
US6259451B1 (en)  Method, system, and computer program product for mapping between an overview and a partial hierarchy  
US5255352A (en)  Mapping of twodimensional surface detail on threedimensional surfaces  
US20060033762A1 (en)  Magnification methods, systems, and computer program products for virtual threedimensional books  
US5426729A (en)  Method and system for nonuniformly adjusting a predefined shape  
US20050005246A1 (en)  Navigation methods, systems, and computer program products for virtual threedimensional books  
Grinstein et al.  Highdimensional visualizations  
Howard et al.  Interface design for geographic visualization: Tools for representing reliability  
US7761713B2 (en)  Method and system for controlling access in detailincontext presentations 