Parallel Coordinates Visualization Applet
This applet was developed as part of
VizCraft,
my Master's thesis project at Virginia Tech.
Its development was inspired by the need to visualize
multidimensional design spaces associated with the configuration design
of a supersonic transport.
It recognizes the Simple Tabular Format (STF) table format
for storing multidimensional data.
Following is a list of some sample STF files.
In the text field for URL above, try entering one of the following URLs:
You can create files for your own data of these types:
- Integer - A whole number, without commas or decimal:
1234567, -42
- Real - A number that is either an Integer or a number with a decimal:
3.141, -32
- String - A non-breaking sequence of characters:
This_is_a_string, soIsThis
Give your file an stf extension. Enter data in the following format:
# Comments have # in the first column.
# Type the number of fields, on a line by itself.
# Then type field names and types. Field names must not contain
# spaces.
#
3
PersonName String
Age Integer
HourlyWage Real
#
# Data type is case-insensitive.
# Default data delimiters are tabs and spaces.
# Currently no "set" method to change delimiters.
# Here's the data, tab-delimited. Notice that the data columns are
# in the order they are listed above.
#
Joe 23 5.75
Mary 18 4.75
Fred 54 100.00
Ginger 48 100.00
#
# Nothing special is required to end the file.
| About Parallel Coordinates |
Parallel coordinates were proposed by Alfred Inselberg as
a new way to represent multidimensional information. A parallel
coordinates visualization assigns one vertical axis
to each variable, and evenly spaces these axes horizontally. This is in
contrast to the traditional Cartesian coordinates system where all
axes are mutually perpendicular.
By drawing the axes parallel to one another, one can represent
data in much greater than three dimensions.
Each variable is plotted on its own axis, and the
values of the variables on adjacent axes are connected by
straight lines.
Thus, a point in an n-dimensional space becomes a polygonal
line laid out across the n parallel axes with n-1 line segments
connecting the n data values.
Many such data points (in Euclidean space) will map to many
of these polygonal lines in a parallel coordinate representation.
Viewed as a whole, these many lines might well exhibit coherent
patterns which could be associated with inherent correlation
of the data points involved.
In this way, the search for relations among the variables is transformed
into a 2-D pattern recognition problem, and the variables become
amenable to visualization.
One important aspect of this visualization scheme is that it
provides opportunities for human pattern recognition: by using
color to distinguish lines, and by supporting various forms of
interaction with the parallel coordinates system, patterns can
be picked up in the given database of multidimensional data.
The number of dimensions that can be visualized using
this scheme is fairly large, limited only by the horizontal
resolution of the screen. However, as the number of dimensions
increases, the axes come closer to each other, making it more
difficult to perceive patterns.
It is also important to note the flexibility of the parallel
coordinates approach in that each coordinate can be
individually scaled -- some may be linear with different
bounds, while others may be logarithmic.
While this prevents us from observing the exact relationships between
various parameters, it may aid in identifying direct, inverse, and
one-to-one relationships between the parameters. Scaling an
individual parameter has another advantage in that it helps us in
zooming into or zooming out of a subset of a data set represented,
effectively brushing out or eliminating (undesirable) portions
of the data set.
This applet has been written using Java Development Kit (JDK) 1.1.6.
It has been packaged into a jar file, which is available for download below.
In order for your browser to read this applet, you need to embed the
following code in your HTML file:
<applet codebase="<URL specifying location of classes>"
code="ParallelCoordinates.class"
archive="ParallelCoordinatesApplet.jar"
width=480
height=370>
Trouble instantiating Parallel Coordinates applet!
</applet>
|