generates a parallel axis plot for the points {yi1,,yin} using equally spaced axes.


plots several sets of points.

Details and Options

  • ParallelAxisPlot is also known as parallel coordinate plot and profile graph.
  • ParallelAxisPlot displays an n-dimensional point by drawing a line through the coordinate values on n parallel axes. Lines that are close together indicate that the points are close together.
  • The data values yi can be given in the following forms:
  • yia real-valued number
    Quantity[yi,unit]a quantity with a unit
  • Values yi that are not of the forms shown previously are taken to be missing and are not shown.
  • The datai have the following forms and interpretations:
  • <|"k1"y1,"k2"y2,|>values {y1,y2,}
    {y1"lbl1",y2"lbl2",}, {y1,y2,}{"lbl1","lbl2",}values {y1,y2,} with labels {lbl1,lbl2,}
    SparseArrayvalues as a normal array
    TimeSeries,EventSeries,values from time series data
    WeightedDataunweighted values
  • The following wrappers can be used:
  • Annotation[datai,label]provide an annotation for the data
    Button[datai,action]define an action to execute when the data is clicked
    Callout[datai,label]label the data with a callout
    Callout[datai,label,pos]place the callout at relative position pos
    EventHandler[datai,events]define a general event handler for the data
    Hyperlink[datai,uri]make the data a hyperlink
    Labeled[datai,label]label the data
    Labeled[datai,label,pos]place the label at relative position pos
    Legended[datai,label]identify the data in a legend
    PopupWindow[datai,cont]attach a popup window to the data
    StatusArea[datai,label]display in the status area on mouseover
    Style[datai,styles]show the data using the specified styles
    Tooltip[datai,label]attach a tooltip to the curve
  • Wrappers w can be applied at multiple levels:
  • w[{y1,,yn}]wrap a point
    w[{data1,}]wrap a set of points datai
    w1[w2[]]use nested wrappers
  • ParallelAxisPlot has the same options as Graphics, with the following additions and changes:
  • AspectRatio1/GoldenRatioratio of height to width
    Axes Truewhether to draw axes
    ColorFunction Automatichow to determine the coloring of lines
    ColorFunctionScaling Truewhether to scale arguments to ColorFunction
    LabelingFunctionAutomatichow to label points
    LabelingSizeAutomaticmaximum size of callouts and labels
    MeshNonewhether to draw mesh points on each curve
    MeshStyleAutomaticthe style for mesh points
    MethodAutomaticthe method to use f
    PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
    PlotLegendsNonelegends for lines
    PlotMarkers Nonemarkers to use to indicate each point
    PlotRange Allrange of values to include
    PlotStyleAutomaticgraphics directives to determine the style of each line
    PlotTheme$PlotThemeoverall theme for the plot
    ScalingFunctionsNonehow to scale individual coordinates
    TargetUnitsAutomaticunits to display in the plot
  • The axes are arranged from left to right.
  • By default, each axis uses a plot range determined by the range of values along it.
  • PlotRangeAutomatic uses the same range for all the axes.
  • Options that apply to each axis, such as Axes, Ticks and PlotRange, can take the following forms:
  • suse setting s for each axis
    {s1,,sn}use per-axis setting s1 for the first axis etc.
    {,pats,}use setting s for axis positions matching pattern pat
  • With the form {,pats,}, pat can be any pattern. The first pattern that matches an axis position will be used. If no pattern matches an axis position, the default value is used.
  • The arguments supplied to ColorFunction are y1,y2,,yn. By default, the color function arguments are scaled per axis to be between 0 and 1.


open allclose all

Basic Examples  (3)

Plot a set of multidimensional points:

Plot multiple datasets:

Use ColorFunction to style lines by the values on the first axis:

Scope  (22)

General Data  (6)

ParallelAxisPlot visualizes multidimensional data by placing each dimension on axes that are parallel to each other:

By default, each axis has its own plot range:

PlotRangeAutomatic shows every axis in the same range:

Plot multiple datasets:

Plot data of unequal lengths:

Coordinates with nonreal values are left out:

Special Data  (2)

Use Quantity to include units with the data:

Plot the values in TimeSeries:

Keys in Association are automatically used as axes labels:

Data Wrapper  (4)

Use wrappers on datasets or collections of datasets:

Wrappers can be nested:

Use PopupWindow to provide additional drilldown information:

Button can be used to trigger any action:

Labeling and Legending  (6)

Use LabelingFunction to add individual labels to each dataset:

Use the index of datasets provided to LabelingFunction to construct labels:

Put labels before the lines:

Use Callout to add a label:

Use PlotLegends to add a bar legend to represent the colors from ColorFunction:

Use legends to identify the color groups:

Use Legended to add a legend:

Presentation  (4)

Multiple datasets are automatically colored to be distinct:

Provide explicit styling to different curves:

Use a theme with high-contrast background and line style:

Include a legend:

Options  (14)

Axes  (2)

Show the axes using rules:

Using pattern test:

AxesLabel  (2)

Specify labels for axes:

AxesLabel uses units as labels automatically:

AxesStyle  (3)

Apply styles to the axes:

Specify different styles for axes in a list:

Use rules:

ColorFunction  (1)

Color the lines according to the values on the first axis:

Color lines by the fourth axis:

ColorFunctionScaling  (1)

Color the lines by the scaled values based on the range of color function:

Color the lines by the unscaled values:

PlotMarkers  (3)

Use unique markers to identify different datasets:

Specify marker size:

Specify custom markers:

PlotRange  (2)

Specify a plot range for all of the axes:

Specify plot ranges for each axis:

Applications  (3)

Compare whether three points are close to each other. The blue point is separate from the yellow and green points in every dimension, while the yellow and green points differ only in the last two:

This can also be seen by plotting two coordinates at a time with ListPlot:

Use ParallelAxisPlot to visualize how some common operations work with built-in dynamic highlight on mouseover:

Use ParallelAxisPlot to visualize multidimensional statistic example data, Fisher Iris:

Group the data by the species and extract axes labels:

Plot with ParallelAxisPlot:

Find the median, 25% and 75% quantiles of the data and stylize them in bold and dashed lines:

Properties & Relations  (3)

ParallelAxisPlot plots multidimensional points on multiple parallel axes:

ListPlot and ListLinePlot plot multiple points on two perpendicular axes:

RadialAxisPlot plots multidimensional points on multiple axes with a shared point at the origin:

ParallelAxisPlot is similar to NumberLinePlot for one-dimensional points:

Wolfram Research (2020), ParallelAxisPlot, Wolfram Language function,


Wolfram Research (2020), ParallelAxisPlot, Wolfram Language function,


Wolfram Language. 2020. "ParallelAxisPlot." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2020). ParallelAxisPlot. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2022_parallelaxisplot, author="Wolfram Research", title="{ParallelAxisPlot}", year="2020", howpublished="\url{}", note=[Accessed: 08-June-2023 ]}


@online{reference.wolfram_2022_parallelaxisplot, organization={Wolfram Research}, title={ParallelAxisPlot}, year={2020}, url={}, note=[Accessed: 08-June-2023 ]}