Crossing patterns between adjacent axes are not visual noise. They encode correlation structure with geometric precision, directly derived from the point-line duality.
A Cartesian line maps to a convergence point in parallel coordinates at position , and the horizontal position depends entirely on slope. Crossing patterns between adjacent axes encode the correlation between those variables: tight X-patterns, parallel bundles, scattered webs each have a specific meaning.
When two variables are negatively correlated, the slope of the underlying linear relationship is negative. A negative slope means the convergence point falls between the two axes. This is a direct consequence of the formula: when , the denominator is greater than 1, so the horizontal coordinate lies between 0 and 1.
The result is an X-pattern: high-on-left to low-on-right segments must cross low-on-left to high-on-right segments. The tighter the correlation, the more tightly crossings cluster at the convergence point. At , all crossings pass through a single point.
When the correlation is positive with , the convergence point moves to the right of the right axis. The line segments run roughly in the same direction, high-to-high and low-to-low, producing a parallel or near-parallel flow. At , the segments are exactly parallel and the convergence point is at infinity.
For steeper positive relationships (), the convergence point wraps around to the left of the left axis. The segments cross again, but the crossing point lies outside the display between the axes.
Figure 1. Correlation explorer. Drag the slider to vary the correlation coefficient from −1 to +1. At negative values, line segments form crossing X-patterns. Near zero, crossings scatter randomly. At positive values, segments flow roughly parallel.
The crossing test. To judge the correlation between two adjacent axes at a glance: if lines cross between the axes, the correlation is negative. If they run parallel, it is positive. The tightness of the pattern reflects the strength.
Consider two data points and . Their polyline segments between two axes cross if and only if the ordering of their values reverses between the axes. Point A is higher on the left axis but lower on the right, or vice versa. The crossing point's position encodes the ratio of the value differences.
Given two segments connecting and on axes separated by unit distance, the crossing occurs at horizontal position:
This is a local version of the convergence formula. Each pairwise crossing contributes information about the relationship between the two variables. The aggregate pattern of all crossings encodes the full joint distribution.
Drag the points on either axis to see how the crossing position changes.
Figure 2. Crossing anatomy. Six data points on two axes. Each pair of segments that reverses order produces a crossing. The annotated crossing shows the horizontal position formula. Drag points to explore.
The Iris dataset contains four measurements on 150 flowers from three species. Displayed in parallel coordinates, the crossing patterns between adjacent axis pairs reveal strikingly different correlation structures. Between petal length and petal width, the segments run nearly parallel, reflecting strong positive correlation. Between sepal width and sepal length, the pattern is more scattered, reflecting a weaker and more complex relationship.
Color-coding by species reveals that the overall crossing pattern is a mixture of three sub-patterns. Within each species, the correlations may differ from the pooled correlation. The geometry makes this decomposition visible.
Figure 3. Fisher's Iris dataset. 150 flowers, four measurements, three species. The crossing density between each axis pair encodes the pairwise correlation. Toggle species to isolate sub-patterns.
Crossing density as joint distribution. The spatial density of crossings between two axes is not merely a visual summary. It is a geometric encoding of the joint distribution of those two variables. Where crossings cluster, the data concentrates. Where they thin out, the data is sparse. The crossing pattern is the distribution, viewed through the lens of the duality.
Correlated data produces structured crossings: tight bundles for strong correlations, looser ones for moderate. Independent data scatters crossings uniformly across the inter-axis space.
Shuffling one variable while holding the other fixed destroys correlation. The structured crossing pattern disintegrates into noise — a geometric version of a permutation test for independence.
Figure 4. Left: correlated data with structured crossings. Right: the same data after shuffling one variable. The "Shuffle" button randomizes the right-axis values, animating the transition from structure to noise.
The crossing pattern is correlation, expressed in the geometry of the duality. Every statistical relationship between adjacent variables leaves a geometric signature in the crossings.