Permuting the axes changes what you can see. The same data tells different stories depending on which dimensions sit next to each other.
A parallel coordinates plot only reveals relationships between adjacent axes. Crossing patterns that encode correlation (explainer 01) are visible only between neighbors. Changing axis order changes what's visible.
With N axes, there are permutations. But reversing the entire order produces the same plot read right-to-left, so the number of distinct orderings is:
For the six variables in the mtcars dataset (mpg, cyl, disp, hp, wt, qsec), that's distinct orderings. Most hide the interesting structure.
The plot below shows 32 cars from the mtcars dataset, with polylines colored by cylinder count (4, 6, or 8).
Drag axis labels to reorder. Polylines animate to the new arrangement.
Figure 1. mtcars data (32 cars, 6 variables) colored by cylinder count. Grab any axis and drag horizontally to reorder. Some orderings reveal tight clusters; others smear the groups together.
A scatterplot matrix shows all pairwise relationships. A parallel coordinates plot of N variables shows only N−1 adjacent pairs. Parallel coordinates handles many more dimensions but hides most pairwise relationships in any single ordering.
The correlation matrix below shows all pairwise absolute correlations. The blue cells mark the pairs currently visible as adjacent in the parallel coordinates plot.
Drag axis labels in the PC plot to reorder. The highlighted cells in the matrix update to show which correlations are visible.
Figure 2. Correlation matrix (top) and parallel coordinates (bottom) linked by axis order. Blue outlines in the matrix mark the adjacent pairs visible in the current ordering. With 6 axes, only 5 of the 15 pairwise correlations are visible at once.
Parallel coordinates trade the scatterplot matrix's symmetry for the ability to display many dimensions at once. Axis ordering determines what's visible.
For a 4-variable subset (mpg, cyl, disp, hp), there are distinct orderings. The grid below shows all 12 as small multiples.
Figure 3. All 12 distinct orderings of 4 variables (mpg, cyl, disp, hp) from mtcars. Each small multiple is a parallel coordinates plot. Orderings that place correlated variables adjacent produce tighter bundles and clearer group separation. The ordering highlighted in blue is the one with the highest sum of adjacent absolute correlations.
If correlations between adjacent axes are what we see, a natural strategy is to place the most strongly correlated pairs next to each other. The greedy nearest-neighbor algorithm works as follows:
1. Compute the absolute correlation between every pair of variables.
2. Start with the pair that has the highest |correlation|.
3. At each end of the current chain, find the unplaced variable most correlated with the endpoint. Add it to whichever end gives the higher correlation.
4. Repeat until all variables are placed.
Figure 4. Greedy correlation-based axis ordering. The algorithm starts with the most correlated pair and greedily extends the chain. At each step, the newly placed axis animates into position. The result clusters the strongest correlations into adjacent positions.
The greedy algorithm does not guarantee the globally optimal ordering (that would require checking all permutations), but it typically finds a good one. It is the same heuristic used for the travelling salesman problem on the correlation graph, treating |correlation| as a distance to maximize.
There is no single correct axis order. Correlation-based ordering is a sensible default because it maximizes structure visible as crossings, but manual exploration often finds orderings that expose cluster boundaries or outlier signatures the algorithm misses.