creates an array of scatter plots by plotting the data columns against each other in pairs.


plots multiple sets of data in each plot panel.

Details and Options

  • PairwiseListPlot is also known as a scatterplot array or 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 the points {ykj,yki} in panel {i,j}.
  • The panel at row and column shows how the data columns yi and yj relate to each other. There are different types of features of the data that can be identified from those panels. Once the feature has been identified it can also be quantified by further analysis of the data.
  • Correlation and covariance are measures of dependence between variables:
  • Use Correlation and Covariance to do detailed analysis of correlation.
  • The density of points is a measure of the number of points per unit area. The panels in PairwiseListPlot effectively show the two-dimensional marginal densities:
  • Use PairwiseDensityHistogram and PairwiseSmoothDensityHistogram to more directly visualize the densities.
  • Clusters are groups of similar points, indicating categories:
  • Use FindClusters and ClusterClassify to do further analysis of these.
  • Data values yij can be given in the following forms:
  • yija real-valued number
    Quantity[yiji,unit]a quantity with a unit
  • Values that are not of the form above are taken to be missing and are not shown.
  • PairwiseListPlot[Dataset[]] plots the data from the dataset, using column labels to label the plot if available.
  • PairwiseListPlot takes the same options as Graphics, 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
    PlotMarkers Nonemarkers 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 styifor 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  (4)

Create a pairwise plot of the columns against each other:

Plot multiple sets of data:

Provide header names for the data:

Compare numeric data groups:

Options  (36)

AspectRatio  (2)

By default, PairwiseListPlot 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:

Background  (2)

By default, PairwiseListPlot 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, PairwiseListPlot does not draw gridlines:

Draw a background grid:

Headers  (2)

Number the columns for unlabeled data:

Provide header names for the columns:

HeaderBackground  (1)

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:

PlotLayout  (1)

Switch the orientation of the diagonal elements:

PlotMarkers  (8)

PairwiseListPlot normally uses distinct colors to distinguish different sets of data:

Automatically use colors and shapes to distinguish sets of data:

Use shapes only:

Change the size of the default plot markers:

Use arbitrary text for plot markers:

Use explicit graphics for plot markers:

Use the same symbol for all the sets of data:

Explicitly use a symbol and size:

PlotStyle  (3)

Style the data using PlotStyle:

By default, different styles are chosen for multiple datasets:

Explicitly specify the style for different datasets:

PlotTheme  (2)

Use a theme with simple ticks and gridlines in a bright color scheme:

Change the color scheme:

Spacings  (1)

Change the space between the plots:

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


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


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


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


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


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