creates an array of quantile plots by plotting the quantiles of the columns against each other.

Details and Options

  • PairwiseQuantilePlot is also known as Q-Q plot matrix.
  • It plots high-dimensional data by creating a grid of individual plots of just two data columns at a time.
  • The plot compares column yi={y1i,y2i,,ymi} against column yj={y1j,y2j,,ymj} by plotting a quantile-quantile plot of yi against yj in panel {i,j}.
  • The plot in panel consists of points whose coordinates are , where is the ^(th)-smallest value in yj and is the ^(th)-smallest value in yi.
  • If the data in column yi has the same shape as column yj, the quantile plot will show a linear relation, even if there is a difference in location or scale:
  • yi is narrower than yj
    yi is wider than yj
    yi is shifted relative to yj
  • Skewed data, with more data in one tail than the other, shows slight curvature from the diagonal:
  • yi is skewed right relative to yj
    yi is skewed left relative to yj
    yi is skewed and shifted relative to yj
  • Heavy tails, indicating that yi has larger magnitude values than yj in the extremes, are indicated by plots that curve away from the diagonal at the ends:
  • yi has heavier tails than yj
    yi has a heavier right tail than yj
    yi has a heavier left tail than yj
  • If the data has multiple modes or peaks in the density, there will be corresponding vertical transitions in the quantile plot where a range of quantiles have effectively the same value:
  • yi is bimodal
    yi is multimodal
    yi is unformly distributed
  • PairwiseQuantilePlot takes the same options as QuantilePlot, with the following changes and additions:
  • AspectRatio 1ratio of height to width for each panel
    Background Nonebackground to use for each plot
    Frame Automaticwhether to draw frames around each panel
    FrameTicksAutomaticwhether to label frame edges with ticks and labels
    GridLines Automaticwhether to include gridlines in panels
    GridLinesStyleAutomaticstyle for gridlines
    HeaderAlignmentCenterhorizontal and vertical alignments of headers
    HeaderBackground Automaticbackground colors to use for headers
    HeaderDisplayFunctionAutomaticfunction to use to format headers
    Headers Automaticlabels to use for each data column yi
    HeaderStyleNonestyles to use for headers
    PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
    PlotHighlightingAutomatichighlighting effect for points
    PlotLayout Automatichow to arrange the panels
    PlotLegendsAutomaticlegends for data
    PlotMarkersNonemarkers to use to indicate each point
    PlotStyle Automaticgraphics directives to determine styles of points
    PlotTheme$PlotThemeoverall theme for the plot
    Spacings Automatichorizontal and vertical spacings
  • PlotLayout can have the following settings:
  • "Descending"data columns going down and to the right
    "Ascending"data columns going up and to the right
    "DescendingHalfMatrix"lower half of the descending layout
    "AscendingHalfMatrix"upper half of the ascending layout
  • Headers specifies the labels to use for each column in the data, and will generally be displayed above each column and after each row in the final plot.
  • Possible settings include:
  • Noneleave the plot columns and rows unlabeled
    Automaticautomatically label columns and rows
    Allalways include column and row labels
    "Indexed"number the columns and rows 1, 2, , n
    {lbl1,lbl2,,lbln}use the given labels lbli
  • HeaderAlignment determines how data column labels are aligned with regard to the plot columns and rows.
  • HeaderAlignment can take the following forms:
  • Centercenter the labels in the header positions
    {h,v}separate horizontal and vertical alignments within the header position
    {cols,rows}use col for plot columns and row for plot rows
  • HeaderBackground and HeaderStyle can take the following forms:
  • Noneuse ambient styling
    styuse the style sty for all headers
    {sty1,sty2,,styn}use the given styles styi for successive headers
    {cols,rows}use col for plot columns and row for plot rows
  • HeaderDisplayFunction determines how headers are displayed.
  • Possible settings are:
  • Automaticautomatic formatting
    Noneuse unprocessed labels
  • The arguments to ColorFunction are yi1,yi2,,yin. By default, the color function arguments are scaled per data column to be between 0 and 1.
  • Use ColorFunctionScalingNone to use unscaled values, or ColorFunctionScaling{cfsc1,cfsc2,} to selectively scale column values.
  • Possible settings for PlotHighlighting include:
  • Automaticautomatically highlight positions in the panels
    Nonedisable interactive highlighting


open allclose all

Basic Examples  (3)

Create an array of Q-Q plots from data with labeled columns:

Compare all columns in a dataset:

Provide header names for the data:

Scope  (2)

Data  (2)

Plot datasets:

Plot arrays of values:

Options  (27)

AspectRatio  (2)

By default, PairwiseQuantilePlot uses an equal height-to-width ratio:

Use a fixed height-to-width ratio:

Axes  (3)

By default, Frame is used instead of Axes:

Use AxesTrue to turn on axes:

Turn each axis on independently for all the subplots:

Background  (2)

By default, PairwiseQuantilePlot has a white background:

Set a background color:

Frame  (2)

By default, each panel plot is drawn with a frame:

Draw frames on the left and bottom edges of the panels:

FrameStyle  (1)

Specify the style of the frame:

GridLines  (2)

By default, PairwiseQuantilePlot does not draw gridlines:

Draw a background grid:

Headers  (3)

By default, PairwiseQuantilePlot does not label columns:

Number the columns for unlabeled data:

Provide header names for the columns:

HeaderBackground  (2)

By default, PairwiseQuantilePlot uses a white header background:

Set a header background color:

ImageSize  (6)

Use named sizes such as Tiny, Small, Medium, and Large:

Specify the width of the plot:

Specify the height of the plot:

Allow the width and height to be up to a certain size:

Specify the width and height for a graphic, padding with space if necessary:

Setting AspectRatioFull will fill the available space:

Use maximum sizes for the width and height:

Use ImageSizeFull to fill the available space in an object:

PlotLabel  (1)

Add an overall label to the plot:

PlotLayout  (1)

Switch the orientation of the diagonal elements:

PlotStyle  (1)

Style the data using PlotStyle:

Spacings  (1)

Change the space between the plots:

Wolfram Research (2023), PairwiseQuantilePlot, Wolfram Language function,


Wolfram Research (2023), PairwiseQuantilePlot, Wolfram Language function,


Wolfram Language. 2023. "PairwiseQuantilePlot." Wolfram Language & System Documentation Center. Wolfram Research.


Wolfram Language. (2023). PairwiseQuantilePlot. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_pairwisequantileplot, author="Wolfram Research", title="{PairwiseQuantilePlot}", year="2023", howpublished="\url{}", note=[Accessed: 30-May-2024 ]}


@online{reference.wolfram_2024_pairwisequantileplot, organization={Wolfram Research}, title={PairwiseQuantilePlot}, year={2023}, url={}, note=[Accessed: 30-May-2024 ]}