#142 Parallel coordinate plot type

It would be useful to have a parallel coordinate plot
type in gnuplot. Parallel coordinates are a
multidimensional visualization technique where
coordinate axes are stacked in parallel, allowing for
data with very high dimensionality to be plotted
without having to resort to 3D graphics or even more
complex mappings. Data points become polylines
connecting the values for each of the dimensions.

Discussion

How do you envision specifying the scaling for each
dimension? Would there be N scaling functions through which
N columns of data are mapped to generate the respective y
coordinates? Or can we just assume that the data has been
appropriately scaled prior to plotting?

Being a gnuplot novice, I am not 100% sure what you mean.
For a parallel coordinate diagram, the point is that the
scaling on each of the axes is independent of the others
since the units may be totally unrelated (perhaps there is
a point to allow for uniform scaling for the special case
when the axes have the same unit to facilitate comparison).

GGobi is an Open Source application that implements a PC
visualization--it does not produce vectorized output,
however. It might be a good reference model:

"the point is that the scaling on each of the axes is
independent of the others since the units may be totally
unrelated"

Exactly. So the question is, how will one tell gnuplot what
those N independent scaling functions are? That is, each
vertical bar (axis) on the plot has endpoint coordinates
that are unrelated to the others. We need a way to specify
what those endpoints should be.

It could be auto-scaled, of course, but this might be a bad
choice in the presence of outliers. You probably want to
spread the scale so the the majority of lines are well
separated even if a few outliers go out of range.

Most interactive visualization tools autoscale the axes.
Furthermore, tools like GGobi allows you to interactively
select a specific data record as a center point, i.e. it
becomes a straight line and the axes are offset
accordingly.

But yes, it would be useful to be able to specify scaling
for each individual axes. I am not sure how exactly to do
this, something that would fit in with the gnuplot model
and command syntax, obviously. :)

For the use I have in mind for gnuplot (10 dimensions of
discrete/ordinal data, about 30 records), autoscaling
suffices perfectly.