# The Parallel-Coordinates Matrix

Choosing an order of axes is one of the major challenges when visualizing data with parallel coordinates, as it ultimately determines the patterns that emerge from the data. The parallel-coordinates matrix (PCM) uses a brute-force approach to tackle this problem: it shows multiple parallel-coordinate plots and guarantees that all pairs of dimensions can be seen exactly once.

The driving idea behind the PCM (Heinrich, Stasko, & Weiskopf, 2012) is the same as that of the scatterplot matrix (SPLOM): we want to be able to see the relation between all pairs of variables of a given dataset. While the SPLOM solves this problem by laying out scatterplots in a matrix (hence the name), it also wastes a lot of space, as with the matrix layout comes redundancy: for $N$ variables, a SPLOM allocates space for $N^2$ scatterplots, of which $\frac{N(N + 1)}{2}$ show redundant plots!

The PCM takes a slightly different approach: it creates a set of parallel-coordinate plots, each with a different order of axes:

Note that for each of the individual plots, different patterns emerge as the order of axes is chosen such that:

1. all pairwise relations appear exactly once, while
2. all plots show the same set of dimensions.

This is achieved by modelling the set of dimensions as a graph with $N$ nodes, where each node represents a dimension and an edge between nodes represents a pairwise relation (i.e. the respective pair of axes appears next to each other). Our goal to see all pairwise relations is then represented as the complete graph $K_N$ where all nodes are connected to all other nodes with an edge. Finding a set of axes orders that satisfy our requirements from above is then simply a matter of finding an appropriate Hamiltonian decomposition of $K_N$. Luckily, there exist algorithms that find a maximum of $\frac{N}{2}$ Hamiltonian paths from complete graphs with $N$ nodes quickly, which we can then use to determine the order of axes in our parallel-coordinate plots. For an excellent (and detailed) paper on Eulerian Tours and Hamiltonian decompositions see (Hurley & Oldford, 2010). If you are interested in implementing the PCM, it’s probably quicker to check out my short paper on the parallel-coordinates matrix.

1. Heinrich, J., Stasko, J., & Weiskopf, D. (2012). The Parallel Coordinates Matrix. In EuroVis–Short Papers (pp. 37–41).
2. Hurley, C. B., & Oldford, R. W. (2010). Pairwise Display of High-Dimensional Information via Eulerian Tours and Hamiltonian Decompositions. Journal Of Computational and Graphical Statistics, 19, 861–886. doi:10.1198/jcgs.2010.09136