---
title: "PairwiseListPlot"
language: "en"
type: "Symbol"
summary: "PairwiseListPlot[{{y11, ..., y 1 n}, ..., {y m 1, ..., ymn}}] creates an array of scatter plots by plotting the data columns against each other in pairs. PairwiseListPlot[{data1, data2, ...}] plots multiple sets of data in each plot panel."
keywords: 
- splom
- scatterplot array
- scatter plot matrix
- pairwise plot
- ggpairs
- pairs
canonical_url: "https://reference.wolfram.com/language/ref/PairwiseListPlot.html"
source: "Wolfram Language Documentation"
related_guides: 
  - 
    title: "High-Dimensional Visualization"
    link: "https://reference.wolfram.com/language/guide/HighDimensionalVisualization.en.md"
  - 
    title: "Tabular Visualization"
    link: "https://reference.wolfram.com/language/guide/TabularVisualization.en.md"
  - 
    title: "Data Visualization"
    link: "https://reference.wolfram.com/language/guide/DataVisualization.en.md"
related_functions: 
  - 
    title: "PairwiseDensityHistogram"
    link: "https://reference.wolfram.com/language/ref/PairwiseDensityHistogram.en.md"
  - 
    title: "PairwiseSmoothDensityHistogram"
    link: "https://reference.wolfram.com/language/ref/PairwiseSmoothDensityHistogram.en.md"
  - 
    title: "ListPlot"
    link: "https://reference.wolfram.com/language/ref/ListPlot.en.md"
  - 
    title: "PairwiseQuantilePlot"
    link: "https://reference.wolfram.com/language/ref/PairwiseQuantilePlot.en.md"
  - 
    title: "PairwiseProbabilityPlot"
    link: "https://reference.wolfram.com/language/ref/PairwiseProbabilityPlot.en.md"
  - 
    title: "ParallelAxisPlot"
    link: "https://reference.wolfram.com/language/ref/ParallelAxisPlot.en.md"
  - 
    title: "RadialAxisPlot"
    link: "https://reference.wolfram.com/language/ref/RadialAxisPlot.en.md"
  - 
    title: "BoxWhiskerChart"
    link: "https://reference.wolfram.com/language/ref/BoxWhiskerChart.en.md"
---
[EXPERIMENTAL]

# PairwiseListPlot

PairwiseListPlot[{{y11, …, y1n}, …, {ym1, …, ymn}}] creates an array of scatter plots by plotting the data columns against each other in pairs.

PairwiseListPlot[{data1, data2, …}] 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}``.

[image]

* The panel at row $i$ and column $j$ 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:

[image]

* 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:

[image]

* Use ``PairwiseDensityHistogram`` and ``PairwiseSmoothDensityHistogram`` to more directly visualize the densities.

* Clusters are groups of similar points, indicating categories:

[image]

* Use ``FindClusters`` and ``ClusterClassify`` to do further analysis of these.

* Data values ``yij`` can be given in the following forms:

|                      |                        |
| -------------------- | ---------------------- |
| yij                  | a 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[Tabular[…] -> cspec]`` extracts and plots values from the tabular object using the column specification ``cspec``.

* The following forms of column specifications ``cspec`` are allowed for plotting tabular data:

{Subscript[``col``, ``y``1], …, Subscript[``col``, ``yn``]}	plot the ``colyi`` against ``colyj`` in a pairwise manner

* ``PairwiseListPlot`` takes the same options as ``Graphics``, with the following changes and additions: []

|                       |                     |                                                    |
| --------------------- | ------------------- | -------------------------------------------------- |
| AspectRatio           | 1                   | ratio of height to width for each panel            |
| Background            | None                | background to use for each plot                    |
| Frame                 | Automatic           | whether to draw frames around each panel           |
| FrameTicks            | Automatic           | whether to label frame edges with ticks and labels |
| GridLines             | Automatic           | whether to include gridlines in panels             |
| GridLinesStyle        | Automatic           | style for gridlines                                |
| HeaderAlignment       | Center              | horizontal and vertical alignments of headers      |
| HeaderBackground      | Automatic           | background colors to use for headers               |
| HeaderDisplayFunction | Automatic           | function to use to format headers                  |
| Headers               | Automatic           | labels to use for each data column yi              |
| HeaderStyle           | None                | styles to use for headers                          |
| PerformanceGoal       | \$PerformanceGoal   | aspects of performance to try to optimize          |
| PlotFit               | None                | how to fit a curve to the points                   |
| PlotFitElements       | Automatic           | fitted elements to show in the plot                |
| PlotHighlighting      | Automatic           | highlighting effect for points                     |
| PlotInteractivity     | \$PlotInteractivity | whether to allow interactive elements              |
| PlotLayout            | Automatic           | how to arrange the panels                          |
| PlotLegends           | Automatic           | legends for data                                   |
| PlotMarkers           | None                | markers to use to indicate each point              |
| PlotStyle             | Automatic           | graphics directives to determine styles of points  |
| PlotTheme             | \$PlotTheme         | overall theme for the plot                         |
| Spacings              | Automatic           | horizontal and vertical spacings                   |

* ``PlotLayout`` can have the following settings:

|         |                        |                                          |
| ------- | ---------------------- | ---------------------------------------- |
| [image] | "Descending"           | data columns going down and to the right |
| [image] | "Ascending"            | data columns going up and to the right   |
| [image] | "DescendingHalfMatrix" | lower half of the descending layout      |
| [image] | "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:

|                       |                                           |
| --------------------- | ----------------------------------------- |
| None                  | leave the plot columns and rows unlabeled |
| Automatic             | automatically label columns and rows      |
| All                   | always 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:

|              |                                                                        |
| ------------ | ---------------------------------------------------------------------- |
| Center       | center 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:

|                       |                                                 |
| --------------------- | ----------------------------------------------- |
| None                  | use ambient styling                             |
| sty                   | use 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:

|           |                        |
| --------- | ---------------------- |
| Automatic | automatic formatting   |
| None      | use unprocessed labels |

* ``ColorData["DefaultPlotColors"]`` gives the default sequence of colors used by ``PlotStyle``.

* 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 ``ColorFunctionScaling -> None`` to use unscaled values, or ``ColorFunctionScaling -> {cfsc1, cfsc2, …}`` to selectively scale column values.

* Possible settings for ``PlotHighlighting`` include:

|           |                                                 |
| --------- | ----------------------------------------------- |
| Automatic | automatically highlight positions in the panels |
| None      | disable interactive highlighting                |

### List of all options

|                        |                     |                                                                                    |
| ---------------------- | ------------------- | ---------------------------------------------------------------------------------- |
| AlignmentPoint         | Center              | the default point in the graphic to align with                                     |
| AspectRatio            | 1                   | ratio of height to width for each panel                                            |
| Axes                   | False               | whether to draw axes                                                               |
| AxesLabel              | None                | axes labels                                                                        |
| AxesOrigin             | Automatic           | where axes should cross                                                            |
| AxesStyle              | {}                  | style specifications for the axes                                                  |
| Background             | None                | background to use for each plot                                                    |
| BaselinePosition       | Automatic           | how to align with a surrounding text baseline                                      |
| BaseStyle              | {}                  | base style specifications for the graphic                                          |
| ContentSelectable      | Automatic           | whether to allow contents to be selected                                           |
| CoordinatesToolOptions | Automatic           | detailed behavior of the coordinates tool                                          |
| Epilog                 | {}                  | primitives rendered after the main plot                                            |
| FormatType             | TraditionalForm     | the default format type for text                                                   |
| Frame                  | Automatic           | whether to draw frames around each panel                                           |
| FrameLabel             | None                | frame labels                                                                       |
| FrameStyle             | {}                  | style specifications for the frame                                                 |
| FrameTicks             | Automatic           | whether to label frame edges with ticks and labels                                 |
| FrameTicksStyle        | {}                  | style specifications for frame ticks                                               |
| GridLines              | Automatic           | whether to include gridlines in panels                                             |
| GridLinesStyle         | Automatic           | style for gridlines                                                                |
| HeaderAlignment        | Center              | horizontal and vertical alignments of headers                                      |
| HeaderBackground       | Automatic           | background colors to use for headers                                               |
| HeaderDisplayFunction  | Automatic           | function to use to format headers                                                  |
| Headers                | Automatic           | labels to use for each data column yi                                              |
| HeaderStyle            | None                | styles to use for headers                                                          |
| ImageMargins           | 0.                  | the margins to leave around the graphic                                            |
| ImagePadding           | All                 | what extra padding to allow for labels etc.                                        |
| ImageSize              | Automatic           | the absolute size at which to render the graphic                                   |
| LabelStyle             | {}                  | style specifications for labels                                                    |
| Method                 | Automatic           | details of graphics methods to use                                                 |
| PerformanceGoal        | \$PerformanceGoal   | aspects of performance to try to optimize                                          |
| PlotFit                | None                | how to fit a curve to the points                                                   |
| PlotFitElements        | Automatic           | fitted elements to show in the plot                                                |
| PlotHighlighting       | Automatic           | highlighting effect for points                                                     |
| PlotInteractivity      | \$PlotInteractivity | whether to allow interactive elements                                              |
| PlotLabel              | None                | an overall label for the plot                                                      |
| PlotLayout             | Automatic           | how to arrange the panels                                                          |
| PlotLegends            | Automatic           | legends for data                                                                   |
| PlotMarkers            | None                | markers to use to indicate each point                                              |
| PlotRange              | All                 | range of values to include                                                         |
| PlotRangeClipping      | False               | whether to clip at the plot range                                                  |
| PlotRangePadding       | Automatic           | how much to pad the range of values                                                |
| PlotRegion             | Automatic           | the final display region to be filled                                              |
| PlotStyle              | Automatic           | graphics directives to determine styles of points                                  |
| PlotTheme              | \$PlotTheme         | overall theme for the plot                                                         |
| PreserveImageOptions   | Automatic           | whether to preserve image options when displaying new versions of the same graphic |
| Prolog                 | {}                  | primitives rendered before the main plot                                           |
| RotateLabel            | True                | whether to rotate y labels on the frame                                            |
| Spacings               | Automatic           | horizontal and vertical spacings                                                   |
| Ticks                  | Automatic           | axes ticks                                                                         |
| TicksStyle             | {}                  | style specifications for axes ticks                                                |

---

## Examples (61)

### Basic Examples (4)

Create a pairwise plot of the columns against each other:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«medical data»]]

Out[1]= [image]
```

---

Plot multiple sets of data:

```wl
In[1]:= PairwiseListPlot[{IconizedObject[«4-cylinder autos»], IconizedObject[«6-cylinder autos»], IconizedObject[«8-cylinder autos»]}]

Out[1]= [image]
```

---

Provide header names for the data:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], Headers -> {"sepal length", "sepal width", "petal length", "petal width"}]

Out[1]= [image]
```

---

Compare numeric data groups:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»], Headers -> {"petal length", "petal width", "sepal length", "sepal width"}]

Out[1]= [image]
```

### Scope (1)

#### Tabular Data (1)

Get tabular data:

```wl
In[1]:= iris = ResourceData["Sample Tabular Data: Fisher Iris"]

Out[1]=
Tabular[Association["RawSchema" -> Association["ColumnProperties" -> 
     Association["Species" -> Association["ElementType" -> "String"], 
      "SepalLength" -> Association["ElementType" -> TypeSpecifier["Quantity"]["Real64", 
          "Centime ...     Quantity[2.3, "Centimeters"], Quantity[2.5, "Centimeters"], Quantity[2.3, 
             "Centimeters"], Quantity[1.9, "Centimeters"], Quantity[2., "Centimeters"], 
            Quantity[2.3, "Centimeters"], Quantity[1.8, "Centimeters"]}]]}}]]]]
```

Create a pairwise array of scatter plots:

```wl
In[2]:= PairwiseListPlot[iris -> {"SepalLength", "SepalWidth", "PetalLength", "PetalWidth"}]

Out[2]= [image]
```

Use a different theme for the plot:

```wl
In[3]:= PairwiseListPlot[iris -> {"SepalLength", "SepalWidth", "PetalLength", "PetalWidth"}, PlotTheme -> "Marketing"]

Out[3]= [image]
```

### Options (56)

#### AspectRatio (2)

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

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»]]

Out[1]= [image]
```

---

Use a fixed height-to-width ratio:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], AspectRatio -> 1 / 2]

Out[1]= [image]
```

#### Axes (3)

By default, ``Frame`` is used instead of ``Axes`` :

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»]]

Out[1]= [image]
```

---

Use ``Axes -> True`` to turn on axes:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], Frame -> False, Axes -> True]

Out[1]= [image]
```

---

Turn each axis on independently:

```wl
In[1]:= {PairwiseListPlot[IconizedObject[«iris data»], Frame -> False, Axes -> {True, False}], PairwiseListPlot[IconizedObject[«iris data»], Frame -> False, Axes -> {False, True}]}

Out[1]= [image]
```

#### AxesStyle (4)

Change the style for the axes:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium, Frame -> False, Axes -> True, AxesStyle -> Red]

Out[1]= [image]
```

---

Specify the style of each axis:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium, Frame -> False, Axes -> True, AxesStyle -> {Directive[Thick, Red], Directive[Thick, Blue]}]

Out[1]= [image]
```

---

Use different styles for the ticks and the axes:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium, Frame -> False, Axes -> True, AxesStyle -> Green, TicksStyle -> Black]

Out[1]= [image]
```

---

Use different styles for the labels and the axes:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium, Frame -> False, Axes -> True, AxesStyle -> Green, LabelStyle -> Black]

Out[1]= [image]
```

#### Background (2)

By default, ``PairwiseListPlot`` has a white background:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»]]

Out[1]= [image]
```

---

Set a background color:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], Background -> GrayLevel[.9]]

Out[1]= [image]
```

#### ColorFunction (3)

Color by scaled $x$ and $y$ coordinates:

```wl
In[1]:= Table[PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Small, ColorFunction -> f, PlotLabel -> f[x, y]], {f, {Hue[#]&, Hue[#2]&}}]

Out[1]= {[image], [image]}
```

---

Color with a named color scheme:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium, ColorFunction -> "DarkRainbow"]

Out[1]= [image]
```

---

``ColorFunction`` has higher priority than ``PlotStyle`` for coloring:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium, ColorFunction -> "DarkRainbow", PlotStyle -> Directive[Red, Thick]]

Out[1]= [image]
```

#### Frame (2)

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

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»]]

Out[1]= [image]
```

---

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

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], Frame -> {{True, False}, {True, False}}]

Out[1]= [image]
```

#### FrameStyle (1)

Specify the style of the frame:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], FrameStyle -> Directive[Black, Thick]]

Out[1]= [image]
```

#### GridLines (2)

By default, ``PairwiseListPlot`` does not draw gridlines:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»]]

Out[1]= [image]
```

---

Draw a background grid:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], GridLines -> Automatic, Background -> LightGray]

Out[1]= [image]
```

#### HeaderBackground (1)

Set a header background color:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], Headers -> "Indexed", HeaderBackground -> LightBlue]

Out[1]= [image]
```

#### Headers (2)

Number the columns for unlabeled data:

```wl
In[1]:= PairwiseListPlot[{{0, 6, 9}, {4, 5, 8}, {0, 0, 5}, {4, 2, 9}, {9, 7, 6}, {10, 5, 6}, {0, 8, 4}, {8, 6, 10}, {10, 4, 0}, {9, 8, 1}}, Headers -> "Indexed"]

Out[1]= [image]
```

---

Provide header names for the columns:

```wl
In[1]:= PairwiseListPlot[{{0, 6, 9}, {4, 5, 8}, {0, 0, 5}, {4, 2, 9}, {9, 7, 6}, {10, 5, 6}, {0, 8, 4}, {8, 6, 10}, {10, 4, 0}, {9, 8, 1}}, Headers -> {"apple", "banana", "coconut"}]

Out[1]= [image]
```

#### ImageSize (6)

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

```wl
In[1]:= {PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Tiny], PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium]}

Out[1]= [image]
```

---

Specify the width of the plot:

```wl
In[1]:= {PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> 200], PairwiseListPlot[IconizedObject[«iris data»], AspectRatio -> 1.5, ImageSize -> 200]}

Out[1]= [image]
```

Specify the height of the plot:

```wl
In[2]:= {PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> {Automatic, 200}], PairwiseListPlot[IconizedObject[«iris data»], AspectRatio -> 1.5, ImageSize -> {Automatic, 200}]}

Out[2]= [image]
```

---

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

```wl
In[1]:= {PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> UpTo[250]], PairwiseListPlot[IconizedObject[«iris data»], AspectRatio -> 1.5, ImageSize -> UpTo[250]]}

Out[1]= [image]
```

---

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

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], AspectRatio -> 1.5, Background -> LightBlue, ImageSize -> {250, 250}]

Out[1]= [image]
```

Setting ``AspectRatio -> Full`` will fill the available space:

```wl
In[2]:= PairwiseListPlot[IconizedObject[«iris data»], Background -> LightBlue, ImageSize -> {250, 250}, AspectRatio -> Full]

Out[2]= [image]
```

---

Use maximum sizes for the width and height:

```wl
In[1]:= {PairwiseListPlot[IconizedObject[«iris data»], Background -> LightBlue, ImageSize -> {UpTo[300], UpTo[200]}], PairwiseListPlot[IconizedObject[«iris data»], AspectRatio -> 2, Background -> LightBlue, ImageSize -> {UpTo[300], UpTo[200]}]}

Out[1]= [image]
```

---

Use ``ImageSize -> Full`` to fill the available space in an object:

```wl
In[1]:= Framed[Pane[PairwiseListPlot[IconizedObject[«iris data»], Background -> LightBlue, ImageSize -> Full], {200, 150}]]

Out[1]= [image]
```

#### Joined (2)

Join the dataset with a line:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium, Joined -> True]

Out[1]= [image]
```

---

Join the first dataset with a line, but use points for the second and third dataset:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»], ImageSize -> Medium, Joined -> {True, False, False}]

Out[1]= [image]
```

#### PlotFit (3)

Automatically fit a model to the data:

```wl
In[1]:= PairwiseListPlot[ResourceData["Sample Tabular Data: Car Models"] -> {"weight", "displacement", "mpg"}, PlotFit -> Automatic]

Out[1]= [image]
```

---

Fit a quadratic curve to the data:

```wl
In[1]:= PairwiseListPlot[ResourceData["Sample Tabular Data: Car Models"] -> {"weight", "displacement", "mpg"}, PlotFit -> "Quadratic"]

Out[1]= [image]
```

---

Use ``KernelModelFit`` to approximate the data:

```wl
In[1]:= PairwiseListPlot[ResourceData["Sample Tabular Data: Car Models"] -> {"weight", "displacement", "mpg"}, PlotFit -> "Kernel"]

Out[1]= [image]
```

#### PlotFitElements (3)

By default, the fitted model is shown with the data points:

```wl
In[1]:= PairwiseListPlot[ResourceData["Sample Tabular Data: Car Models"] -> {"weight", "displacement", "mpg"}, PlotFit -> Automatic]

Out[1]= [image]
```

---

Plot confidence bands for the data, with a default confidence level of 0.95:

```wl
In[1]:= PairwiseListPlot[ResourceData["Sample Tabular Data: Car Models"] -> {"weight", "displacement", "mpg"}, PlotFit -> Automatic, PlotFitElements -> "BandCurves"]

Out[1]= [image]
```

Use a confidence level of 0.5 for the bands:

```wl
In[2]:= PairwiseListPlot[ResourceData["Sample Tabular Data: Car Models"] -> {"weight", "displacement", "mpg"}, PlotFit -> Automatic, PlotFitElements -> {"BandCurves", <|"ConfidenceLevel" -> 0.5|>}]

Out[2]= [image]
```

---

Show residual lines from the data points to the fitted curve:

```wl
In[1]:= PairwiseListPlot[ResourceData["Sample Tabular Data: Car Models"] -> {"weight", "displacement", "mpg"}, PlotFit -> Automatic, PlotFitElements -> "Residuals"]

Out[1]= [image]
```

Combine the original points with gray residual lines:

```wl
In[2]:= PairwiseListPlot[ResourceData["Sample Tabular Data: Car Models"] -> {"weight", "displacement", "mpg"}, PlotFit -> Automatic, PlotFitElements -> {"DataPoints", {"Residuals", <|"Style" -> Gray|>}}]

Out[2]= [image]
```

#### PlotLabel (1)

Add an overall label to the plot:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»], ImageSize -> Small, PlotLabel -> "My data"]

Out[1]= [image]
```

#### PlotLayout (1)

Switch the orientation of the diagonal elements:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], PlotLayout -> "Ascending"]

Out[1]= [image]
```

#### PlotMarkers (8)

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

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»]]

Out[1]= [image]
```

---

Automatically use colors and shapes to distinguish sets of data:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»], PlotMarkers -> "OpenMarkers"]

Out[1]= [image]
```

---

Use shapes only:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»], PlotStyle -> Black, PlotMarkers -> "OpenMarkers"]

Out[1]= [image]
```

---

Change the size of the default plot markers:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»], PlotMarkers -> {Automatic, Tiny}]

Out[1]= [image]

In[2]:= PairwiseListPlot[IconizedObject[«iris groups»], PlotMarkers -> {Automatic, Small}]

Out[2]= [image]
```

---

Use arbitrary text for plot markers:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»], ImageSize -> Medium, PlotMarkers -> {"1", "2", "3"}]

Out[1]= [image]
```

---

Use explicit graphics for plot markers:

```wl
In[1]:= {m1, m2, m3} = Graphics /@ {Circle[{0, 0}, 1], Disk[{0, 0}, 1], Line[{{-0.5, -0.5}, {0.5, -0.5}, {0.5, 0.5}, {-0.5, 0.5}, {-0.5, -0.5}}]}

Out[1]= {[image], [image], [image]}

In[2]:= PairwiseListPlot[IconizedObject[«iris groups»], ImageSize -> Medium, PlotMarkers -> Table[{s, 0.07}, {s, {m1, m2, m3}}]]

Out[2]= [image]
```

---

Use the same symbol for all the sets of data:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»], ImageSize -> Medium, PlotMarkers -> "●"]

Out[1]= [image]
```

---

Explicitly use a symbol and size:

```wl
In[1]:= Table[PairwiseListPlot[IconizedObject[«iris groups»], ImageSize -> Small, PlotMarkers -> {"●", s}], {s, {3, 6, 9}}]

Out[1]= [image]
```

#### PlotRange (4)

``PlotRange`` is automatically calculated:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium]

Out[1]= [image]
```

---

Use a custom ``PlotRange`` :

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium, PlotRange -> {{0, 5}, {0, 10}}]

Out[1]= [image]
```

---

Show the whole dataset:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium, PlotRange -> All]

Out[1]= [image]
```

---

Include the full range of the original data:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], ImageSize -> Medium, PlotRange -> Full]

Out[1]= [image]
```

#### PlotStyle (3)

Style the data using ``PlotStyle`` :

```wl
In[1]:= PairwiseListPlot[IconizedObject[«Iris»], PlotStyle -> Directive[Red, PointSize[Small]]]

Out[1]= [image]
```

---

By default, different styles are chosen for multiple datasets:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»]]

Out[1]= [image]
```

---

Explicitly specify the style for different datasets:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»], PlotStyle -> {Red, Green, Blue}]

Out[1]= [image]
```

#### PlotTheme (2)

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

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»], PlotTheme -> "Business"]

Out[1]= [image]
```

---

Change the color scheme:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris groups»], PlotTheme -> "Business", PlotStyle -> 96]

Out[1]= [image]
```

#### Spacings (1)

Change the space between the plots:

```wl
In[1]:= PairwiseListPlot[IconizedObject[«iris data»], Spacings -> 0]

Out[1]= [image]

In[2]:= PairwiseListPlot[IconizedObject[«iris data»], Spacings -> 20]

Out[2]= [image]
```

## See Also

* [`PairwiseDensityHistogram`](https://reference.wolfram.com/language/ref/PairwiseDensityHistogram.en.md)
* [`PairwiseSmoothDensityHistogram`](https://reference.wolfram.com/language/ref/PairwiseSmoothDensityHistogram.en.md)
* [`ListPlot`](https://reference.wolfram.com/language/ref/ListPlot.en.md)
* [`PairwiseQuantilePlot`](https://reference.wolfram.com/language/ref/PairwiseQuantilePlot.en.md)
* [`PairwiseProbabilityPlot`](https://reference.wolfram.com/language/ref/PairwiseProbabilityPlot.en.md)
* [`ParallelAxisPlot`](https://reference.wolfram.com/language/ref/ParallelAxisPlot.en.md)
* [`RadialAxisPlot`](https://reference.wolfram.com/language/ref/RadialAxisPlot.en.md)
* [`BoxWhiskerChart`](https://reference.wolfram.com/language/ref/BoxWhiskerChart.en.md)

## Related Guides

* [High-Dimensional Visualization](https://reference.wolfram.com/language/guide/HighDimensionalVisualization.en.md)
* [Tabular Visualization](https://reference.wolfram.com/language/guide/TabularVisualization.en.md)
* [Data Visualization](https://reference.wolfram.com/language/guide/DataVisualization.en.md)

## History

* [Introduced in 2024 (14.0)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn140.en.md) \| [Updated in 2025 (14.2)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn142.en.md) ▪ [2025 (14.3)](https://reference.wolfram.com/language/guide/SummaryOfNewFeaturesIn143.en.md)