generates a 3D scatter plot of points with coordinates {xi,yi,zi}.


generates a 3D scatter plot of points with a 2D array of height values.


plots several collections of points, by default in different colors.

Details and Options

  • Data values xi, yi and zi can be given in the following forms:
  • xia real-valued number
    Quantity[xi,unit]a quantity with a unit
    Around[xi,ei]value xi with uncertainty ei
    Interval[{xmin,xmax}]values between xmin and xmax
  • Values xi, yi and zi that are not of the preceding form are taken to be missing and are not shown.
  • The datai have the following forms and interpretations:
  • <|"k1"{x1,y1,z1},"k2"{x2,y2,z2},|>values {{x1,y1,z1},{x2,y2,z2},}
    {{x1,y1,z1}"lbl1",{x2,y2,z2}"lbl2",}, data{"lbl1","lbl2",}values {{x1,y1,z1},{x2,y2,z2},} with labels {lbl1,lbl2,}
    SparseArrayvalues as a normal array
    WeightedDataunweighted values
  • The following wrappers w can be used for the datai:
  • 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,]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 data
    Tooltip[datai]use data values as tooltips
  • Wrappers w can be applied at multiple levels:
  • {{,w[zi,j],}}wrap the value zi,j in array data
    {,w[{xi,yi,zi}],}wrap the point {xi,yi,zi}
    w[datai]wrap the data
    w[{data1,}]wrap a collection of datai
    w1[w2[]]use nested wrappers
  • Callout, Labeled and Placed can use the following positions pos:
  • Automaticautomatically placed labels
    Above, Below, Before, Afterpositions around the data
    {pos,epos}epos in label placed at relative position pos of the data
  • Labels are placed on a billboard plane that always faces the camera, and Before, After, etc. refer to positions on that plane.
  • ListPointPlot3D has the same options as Graphics3D, with the following additions and changes:
  • AxesTruewhether to draw axes
    BoxRatios{1,1,0.4}bounding 3D box ratios
    ColorFunction Automatichow to determine the color of points
    ColorFunctionScaling Truewhether to scale arguments to ColorFunction
    DataRange Automaticthe range of x and y values to assume for data
    Filling Nonehow to fill in stems for each point
    FillingStyle Automaticstyle to use for filling
    IntervalMarkers Automatichow to render uncertainty
    IntervalMarkersStyle Automaticstyle for uncertainty elements
    LabelingFunctionAutomatichow to label points
    LabelingSize Automaticsize to use for callout and label
    PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
    PlotLegends Nonelegends for points
    PlotRange {Full,Full,Automatic}the range of z or other values to include
    PlotRangePaddingAutomatichow much to pad the range of values
    PlotStyle Automaticstyles of points
    PlotTheme $PlotThemeoverall theme for the plot
    RegionFunction (True&)how to determine whether a point should be included
    RegionBoundaryStyle TemplateBox[{Automatic, paclet:ref/Automatic}, RefLink, BaseStyle -> {3ColumnTableMod}]style to use for a region
    ScalingFunctions Nonehow to scale individual coordinates
  • The option setting Filling->Automatic shows stems for all points.
  • DataRange determines how values {{z11, , z1n},,{zm1,,zmn}} {z1q,,zn} are interpreted into {{x11,y11,z11},,{xmn,ymn,zmn}}. Possible settings include:
  • Automatic,Alluniform from 1 to m or n
    {{xmin,xmax},{ymin,ymax}}uniform from xmin to xmax and from ymin to ymax
  • In general, a list of triples {{x1,y1,z1},{x2,y2,z2},} is interpreted as a list of points, but the setting DataRangeAll forces it to be interpreted as multiple datai {{z11,z12,z13},{z21,z22,z23},}.
  • PlotStyle allows any graphics directive, and each directive will be applied to collections of points datai.
  • The arguments supplied to functions in ColorFunction and RegionFunction are x, y and z. Functions in ColorFunction are by default supplied with scaled versions of these arguments.


open allclose all

Basic Examples  (6)

Show a scatter plot from an array of height values:

Use irregularly spaced data:

Add labels as Callout:

Fill below the points:

Show multiple sets of points:

Color the points by height:

Scope  (34)

General Data  (8)

For regular data consisting of values, the and data ranges are taken to be integer values:

Provide explicit and data ranges by using DataRange:

Plot multiple sets of regular data:

For irregular data consisting of triples, the and data ranges are inferred from the data:

Plot multiple sets of irregular data:

Areas around where the data is nonreal are excluded:

PlotRange is selected automatically:

Use PlotRange to focus in on areas of interest:

Use RegionFunction to restrict the surface to a region given by inequalities:

Special Data  (6)

Use Quantity to include units with the data:

Plot data in a QuantityArray:

Specify the units used with TargetUnits:

Plot data with uncertainty:

Specify strings to use as labels:

Specify locations for labels:

Plot data in a SparseArray:

Data Wrappers  (6)

Use wrappers on individual data, datasets or collections of datasets:

Wrappers can be nested:

Use the value of each point as a tooltip:

Use a specific label for all the points:

Labels points with automatically positioned text:

Use PopupWindow to provide additional drilldown information:

Button can be used to trigger any action:

Labeling and Legending  (6)

Label points with automatically positioned text:

Place the labels relative to the points:

Specify label names with LabelingFunction:

Include legends for each point collection:

Use Legended to provide a legend for a specific dataset:

Use Placed to change the legend location:

Specify the maximum size of labels:

Use the full label:

For dense sets of points, some labels may be turned into tooltips by default:

Increasing the size of the plot will show more labels:

Presentation  (8)

Provide an explicit PlotStyle for the points:

Provide separate styles for different surfaces:

Add labels:

Color the surface by height:

Provide an interactive Tooltip for each point:

Provide an interactive Tooltip for the whole plot:

Fill below the points:

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

Use a highly styled theme:

Options  (48)

ColorFunction  (5)

Color by scaled , , and values:

Color by scaled and coordinates:

Use ColorData for predefined color gradients:

Named color gradients color in the direction:

ColorFunction has higher priority than PlotStyle:

ColorFunctionScaling  (2)

Use unscaled coordinates:

Unscaled coordinates are dependent on DataRange:

DataRange  (5)

Arrays of height values are displayed against the number of elements in each direction:

Rescale to the sampling space:

Each dataset is scaled to the same domain:

Triples are interpreted as , , coordinates:

Force interpretation as arrays of height values:

The dataset is normally interpreted as a list of , , triples:

Filling  (3)

Fill to the bottom, using "stems":

Filling occurs along the region cut by the RegionFunction:

Fill surface 1 to the bottom with blue and surface 2 to the top with red:

FillingStyle  (3)

Fill to the bottom with a variety of styles:

Fill to the plane with orange below and blue above:

Fill to the plane from above only:

IntervalMarkers  (2)

Interval markers are bars by default:

Use named IntervalMarkers:

IntervalMarkersStyle  (2)

Interval markers are black by default:

Specify the style for the bars:

LabelingSize  (3)

Images in callouts and labels are resized automatically by default:

Use LabelingSize to change the display size of labels:

Textual labels are displayed at their full size:

Change the display size:

PlotLegends  (5)

No legend is used by default:

Generate a legend using labels:

Generate a legend using placeholders:

Use Placed to specify legend placement:

Build a custom legend with BarLegend:

PlotRange  (3)

Automatically compute the range:

Use all points to compute the range:

Use an explicit range to emphasize features:

PlotStyle  (1)

Plot two point sets with different styles:

Different point sizes:

PlotTheme  (2)

Use a theme with simple ticks in a bold color scheme:

Change color scheme:

RegionBoundaryStyle  (3)

Show the region being plotted:

Use None to not draw the region:

Use a custom RegionBoundaryStyle:

RegionFunction  (4)

Plot over a region in :

The region depends on DataRange:

Regions do not have to be connected:

Use any logical combination of conditions:

ScalingFunctions  (5)

By default, plots have linear scales in each direction:

Use a log scale in the direction:

Use a linear scale in the direction that shows smaller numbers at the top:

Use different scales in the , and directions:

Use a scale defined by a function and its inverse:

Applications  (1)

Sampling points for a three-dimensional integration:

Properties & Relations  (11)

Use ListPlot and ListLinePlot to plot heights in 2D:

Plot points:

Use ListLinePlot3D to plot curves through lists of points:

Plot curves through rows of heights in a table:

Use ListPlot3D to create surfaces from data:

Use Plot3D to visualize functions:

Use ListLogPlot, ListLogLogPlot, and ListLogLinearPlot for logarithmic data plots:

Use ListPolarPlot for polar plots:

Use DateListPlot to show data over time:

Use ListContourPlot to create contours from continuous data:

Use ListDensityPlot to create densities from continuous data:

Use ArrayPlot and MatrixPlot for arrays of discrete values:

Use ParametricPlot for parametric curves:

Neat Examples  (2)

Quadruple helix:

Four conical spirals:

Wolfram Research (2007), ListPointPlot3D, Wolfram Language function, (updated 2020).


Wolfram Research (2007), ListPointPlot3D, Wolfram Language function, (updated 2020).


Wolfram Language. 2007. "ListPointPlot3D." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020.


Wolfram Language. (2007). ListPointPlot3D. Wolfram Language & System Documentation Center. Retrieved from


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


@online{reference.wolfram_2022_listpointplot3d, organization={Wolfram Research}, title={ListPointPlot3D}, year={2020}, url={}, note=[Accessed: 01-June-2023 ]}