Parallel coordinates: Difference between revisions

Content deleted Content added
Avarai (talk | contribs)
Into clarity, switch two verbs to one verb (visualizing) + used task (to analyze)
Tags: Mobile edit Mobile web edit
Avarai (talk | contribs)
m Higher dimensions: Fixed typo
Tags: Mobile edit Mobile app edit Android app edit App select source
 
(15 intermediate revisions by 8 users not shown)
Line 2:
[[Image:ParCorFisherIris.png|right|400px|Parallel coordinates]]
[[File:Ggobi-flea2.png|right|400px|alt=Ggobi-flea2|Parallel coordinate plot of the flea data in [[GGobi]].]]
'''Parallel Coordinates''' isplots are a common method of visualizing [[multivariate data|high-dimensional datasets]] to analyze datamultivariate thatdata hashaving multiple variables, or attributes.
 
To plot, or visualize, a set of [[point (geometry)|points]] in [[n-dimensional space|''n''-dimensional space]], ''n'' [[parallel (geometry)|parallel]] axes lines are drawn over the background representing [[coordinate]] axes, typically vertically oriented andvertically equallywith equal spacedspacing. A pointPoints in ''n''-dimensional space isare represented as a singleindividual [[polyline]]s with ''n'' [[vertex (geometry)|vertices]] placed on the parallel axes; vertices correspondcorresponding to each [[coordinate]] entry of the ''n''-dimensional point, vertices are connected with ''n-1'' polyline segments.
 
This data visualization is similar to [[time series]] visualization, except that Parallel Coordinates are applied to data which do not correspond with chronological time. Therefore, different axes arrangements can be of interest, including translatingreflecting axes horizontally, orotherwise inverting the attribute range.
 
== History ==
 
The concept of Parallel Coordinates is often said to originate in 1885 by a French mathematician [[Philbert Maurice d'Ocagne]].<ref>Ocagne, M. (1885). Coordonnées Parallèles et Axiales: Méthode de transformation géométrique et procédé nouveau de calcul graphique déduits de la considération des coordonnées parallèlles. Gauthier-Villars. [https://archive.org/details/coordonnesparal00ocaggoog }}archive.org]</ref>. d'Ocagne sought a way to provide graphical calculation of mathematical functions using alignment diagrams called [[nomogram]]s which used parallel axes with different scales.
For example, a three-variable equation could be solved using three parallel axes, marking known values on their scales, then drawing a line between them, with an unknown read from the scale at the point where the line intersects that scale.
 
The use of Parallel Coordinates as a visualization technique to show data is also often said to have originated earlier with [[Henry Gannett]] in work preceding the Statistical Atlas of the United States
for the 1890 Census, for example his "General Summary, Showing the Rank of States, by Ratios, 1880", <ref name="hg">{{cite journalbook |first=Henry |last=Gannett |title=Scribner's statistical atlas of the United States |section=General Summary Showing the Rank of States by Ratios 1880 |url=https://www.davidrumsey.com/luna/servlet/detail/RUMSEY~8~1~32803~1152181}}</ref>
that shows the rank of 10 measures (population, occupations, wealth, manufacturing, agriculture, and so forth) on parallel axes connected by lines for each state.
 
Line 23:
 
==Higher dimensions==
On the plane with an XY Cartesian coordinate system, adding more [[dimensions]] in parallel coordinates (often abbreviated ||-coords, PCP, or PC) involves adding more axes. The value of parallel coordinates is that certain geometrical properties in high dimensions transform into easily seen 2D patterns. For example, a set of points on a line in ''n''-space transforms to a set of [[polyline]]s in parallel coordinates all intersecting at ''n''&nbsp;&minus;&nbsp;1 points. For ''n'' = 2 this yields a point-line duality pointing out why the mathematical foundations of parallel coordinates are developed in the [[Projective space|projective]] rather than [[Euclidian space|euclidean]] space. A pair of lines intersects at a unique point which has two coordinates and, therefore, can correspond to a unique line which is also specified by two parameters (or two points). ByIn contrast, more than two points are required to specify a curve and also a pair of curves may not have a unique intersection. Hence by using curves in parallel coordinates instead of lines, the point line duality is lost together with all the other properties of projective geometry, and the known nice higher-dimensional patterns corresponding to (hyper)planes, curves, several smooth (hyper)surfaces, proximities, convexity and recently non-orientability.<ref name="pc2">{{cite book |first=Alfred |last=Inselberg |title=Parallel Coordinates: VISUAL Multidimensional Geometry and its Applications |publisher=Springer |year=2009 |isbn=978-0387215075 }}</ref> The goal is to map n-dimensional relations into 2D patterns. Hence, parallel coordinates is not a point-to-point mapping but rather a ''n''D subset to 2D subset mapping, there is no loss of information. Note: even a point in nD is not mapped into a point in 2D, but to a polygonal line—a subset of 2D.
 
==Statistical considerations==
Line 38:
 
== Reading ==
Inselberg ({{harvnb|Inselberg|1997|p= }}) made a full review of how to visually read out parallel coordinates relational patterns.<ref>{{citation|last1=Inselberg |first1=A.|year=1997 |chapter=Multidimensional detective |title=Information Visualization, 1997. Proceedings., IEEE Symposium on |isbn=0-8186-8189-6|pages=100–107|doi=10.1109/INFVIS.1997.636793|s2cid=1823293 |citeseerx=10.1.1.457.3745 }}</ref> When most lines between two parallel axisaxes are somewhat parallel to each other, it suggests a positive relationship between these two dimensions. When lines cross in a kind of superposition of X-shapes, it's a negative relationship. When lines cross randomly or are parallel, it shows there is no particular relationship.
 
== Limitations ==
In parallel coordinates, each axis can have at most two neighboring axes (one on the left, and one on the right). For a ''n''-dimensional data set, at most ''n''-1 relationships can be shown at a time without altering the approach. In [[time series]] visualization, there exists a natural predecessor and successor; therefore in this special case, there exists a preferred arrangement. However, when the axes do not have a unique order, finding a good axis arrangement requires the use of experimentation and feature engineering. To explore more relationships, axes may be reordered or restructured.
 
One approach arranges axes in 3-dimensional space (still in parallel, forming a [[Lattice graph]]), an axis can have more than two neighbors in a circle around the central attribute, and the arrangement problem can be improve by using a [[minimum spanning tree]].<ref name="sigmod13">{{cite book| |author=Elke Achtert, |author2=[[Hans-Peter Kriegel]], |author3=Erich Schubert, |author4=Arthur Zimek
| title=Proceedings of the 2013 ACM SIGMOD International Conference on Management of Data
| chapter=Interactive data mining with 3D-parallel-coordinate-trees
| date=2013
| pages=1009–1012
| publisher=Association for Computing Machinery
| ___location=New York City, NY | year=2013 | doi=10.1145/2463676.2463696| isbn=9781450320375
| s2cid=14850709
Line 53:
 
== Software ==
While there are a large number of papers about parallel coordinates, there are only a few notable software publicly available to convert databases into parallel coordinates graphics.<ref>{{cite web|url=http://eagereyes.org/techniques/parallel-coordinates|title=Parallel Coordinates|last=Kosara|first=Robert|year=2010}}</ref> Notable software are [[ELKI]], [[GGobi]], [[Mondrian data analysis|Mondrian]], [[Orange (software)|Orange]] and [[ROOT]]. Libraries include [[Protovis.js]], [[D3.js]] provides basic examples. D3.Parcoords.js (a D3-based library) specifically dedicated to parallel coordinates graphic creation has also been published. The [[Python (programming language)|Python]] data structure and analysis library [[Pandas (software)|Pandas]] implements parallel coordinates plotting, using the plotting library [[matplotlib]].<ref>[https://pandas.pydata.org/pandas-docs/version/0.21.0/visualization.html#parallel-coordinates Parallel Coordinates in Pandas]</ref>
 
== Other visualizations for multivariate data ==
* [[Radar chart]] – aA visualization with coordinate axes arranged radially.
* [[Andrews plot]] – A Fourier transform of the Parallel Coordinates graph.
* [[Sankey diagram]] - A visualization that emphasizes flow/movement/change from one state to another.
 
== References ==
Line 75 ⟶ 76:
*[https://github.com/IBM/conditional-parallel-coordinates Conditional Parallel Coordinates] – Recursive variant of Parallel Coordinates, where a categorical value can expand to reveal another level of Parallel Coordinates.
 
[[Category:Data and information visualization]]
[[Category:Multi-dimensional geometry]]
[[Category:Statistical charts and diagrams]]