ArrayPlot3D
✖
ArrayPlot3D
generates a plot in which the values in an array are shown in a discrete array of cubes.
Details and Options




- ArrayPlot3D[array] by default arranges the array elements aijk with increasing values of i going from top to bottom, j from back to front and k from left to right.
- Possible forms of array include:
-
{{{a111,…,a11t},…,{a1s1,…,a1st}},…,{{ar11,…,ar1t},…,{ars1,…,arst}}} normal array SparseArray values as a normal array QuantityArray magnitudes NumericArray values as a normal array SymmetrizedArray values as a normal array Dataset values as a normal array - If array is ragged, shorter dimensions are treated as padded on the right with empty space.
- If array contains 0s and 1s, the 1s will appear as black cubes and the 0s as empty space.
- ArrayPlot3D has the same options as Graphics3D, with the following additions and changes: [List of all options]
-
Axes False whether to draw axes Boxed True whether to draw the bounding box ClippingStyle None how to show cells whose values are clipped ColorFunction Automatic how each cell should be colored ColorFunctionScaling True whether to scale the argument to ColorFunction ColorRules Automatic rules for determining colors from values DataRange All the range of and
values to assume
DataReversed False whether to reverse the order of rows Lighting "Neutral" whether to use lighting Mesh Automatic whether to draw a mesh MeshStyle Automatic the style to use for a mesh Method Automatic the method to use for displaying the array MissingStyle Automatic the style to use for missing values OpacityFunction Automatic how to compute the opacity at each cell OpacityFunctionScaling True whether to scale the arguments to OpacityFunction PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLegends None legends for datasets PlotRange All the range of values to plot PlotTheme $PlotTheme overall theme for the plot TargetUnits Automatic units to display in the plot - The rules given by ColorRules are applied to the value aijk of each cell. The rules can involve patterns.
- If none of the rules in ColorRules apply, then ColorFunction is used to determine the color.
- With the default setting ColorRules->Automatic, an explicit setting ColorFunction->f is used instead of ColorRules.
- If the color determined for a particular cell is None, the cell is treated as empty space.
- If no color is determined for a particular cell, the cell is rendered in the color given by MissingStyle, by default a dark red color.
- ColorFunction and OpacityFunction are supplied with a single argument, given by default by the value of aijk scaled to be between 0 and 1.
- With DataReversed->True, the order of rows is reversed, so that rows run from bottom to top, with the last row at the top.
- With the setting TicksAutomatic, ticks are placed at round integers, typically multiples of 5 or 10.
- With the setting TicksAll, ticks are also placed at the minimum and maximum values of i, j and k.
- In explicit Ticks specifications, the tick coordinates are taken to refer to i, j and k.
- PlotRange can take the following forms:
-
amax show aijk values between 0 and amax {amin,amax} show aijk values between amin and amax {rangei,rangej,rangek} show aijk values with i in rangei, … {rangei,rangej,rangek,rangea} show aijk values with i in rangei, … and aijk in rangea - The array index ranges rangei, rangej and rangek can take the following forms:
-
{min,max} include indices between min and max All include all indices - Typical settings for PlotLegends include:
-
None no legend Automatic automatically determine legend Placed[lspec,…] specify placement for legend - Possible settings for Mesh include:
-
Automatic automatically show the mesh None do not show the mesh Full show mesh adjacent to filled array cells All show mesh adjacent to all array cells {speci,specj,speck} show the mesh in particular dimensions - The possible settings for Method include "Graphics3D", "Raster3D" and "ArrayMesh".
-
AlignmentPoint Center the default point in the graphic to align with AspectRatio Automatic ratio of height to width Axes False whether to draw axes AxesEdge Automatic on which edges to put axes AxesLabel None axes labels AxesOrigin Automatic where axes should cross AxesStyle {} graphics directives to specify the style for axes Background None background color for the plot BaselinePosition Automatic how to align with a surrounding text baseline BaseStyle {} base style specifications for the graphic Boxed True whether to draw the bounding box BoxRatios Automatic bounding 3D box ratios BoxStyle {} style specifications for the box ClippingStyle None how to show cells whose values are clipped ClipPlanes None clipping planes ClipPlanesStyle Automatic style specifications for clipping planes ColorFunction Automatic how each cell should be colored ColorFunctionScaling True whether to scale the argument to ColorFunction ColorRules Automatic rules for determining colors from values ContentSelectable Automatic whether to allow contents to be selected ControllerLinking False when to link to external rotation controllers ControllerPath Automatic what external controllers to try to use DataRange All the range of and
values to assume
DataReversed False whether to reverse the order of rows Epilog {} 2D graphics primitives to be rendered after the main plot FaceGrids None grid lines to draw on the bounding box FaceGridsStyle {} style specifications for face grids FormatType TraditionalForm default format type for text ImageMargins 0. the margins to leave around the graphic ImagePadding All what extra padding to allow for labels, etc. ImageSize Automatic absolute size at which to render the graphic LabelStyle {} style specifications for labels Lighting "Neutral" whether to use lighting Mesh Automatic whether to draw a mesh MeshStyle Automatic the style to use for a mesh Method Automatic the method to use for displaying the array MissingStyle Automatic the style to use for missing values OpacityFunction Automatic how to compute the opacity at each cell OpacityFunctionScaling True whether to scale the arguments to OpacityFunction PerformanceGoal $PerformanceGoal aspects of performance to try to optimize PlotLabel None a label for the plot PlotLegends None legends for datasets PlotRange All the range of values to plot PlotRangePadding Automatic how much to pad the range of values PlotRegion Automatic final display region to be filled PlotTheme $PlotTheme overall theme for the plot PreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic Prolog {} 2D graphics primitives to be rendered before the main plot RotationAction "Fit" how to render after interactive rotation SphericalRegion Automatic whether to make the circumscribing sphere fit in the final display area TargetUnits Automatic units to display in the plot Ticks Automatic specification for ticks TicksStyle {} style specification for ticks TouchscreenAutoZoom False whether to zoom to fullscreen when activated on a touchscreen ViewAngle Automatic angle of the field of view ViewCenter Automatic point to display at the center ViewMatrix Automatic explicit transformation matrix ViewPoint {1.3,-2.4,2.} viewing position ViewProjection Automatic projection method for rendering objects distant from the viewer ViewRange All range of viewing distances to include ViewVector Automatic position and direction of a simulated camera ViewVertical {0,0,1} direction to make vertical

List of all options




Examples
open allclose allBasic Examples (4)Summary of the most common use cases

https://wolfram.com/xid/09byepmns-li6936

https://wolfram.com/xid/09byepmns-vjk

Display the state of a 3D cellular automaton:

https://wolfram.com/xid/09byepmns-6e9h0g


https://wolfram.com/xid/09byepmns-fw2

Use a standard blend as a color function:

https://wolfram.com/xid/09byepmns-swajlt

https://wolfram.com/xid/09byepmns-63dqy

Scope (6)Survey of the scope of standard use cases
By default, 0 is not plotted and 1 is plotted in black:

https://wolfram.com/xid/09byepmns-xm4

With no opacity, 0 is plotted in white:

https://wolfram.com/xid/09byepmns-onnbca


https://wolfram.com/xid/09byepmns-bdfftn

Plot a ragged array, padding on the right:

https://wolfram.com/xid/09byepmns-bkf

Cells with value None are rendered like the background:

https://wolfram.com/xid/09byepmns-swe


https://wolfram.com/xid/09byepmns-k23

Options (32)Common values & functionality for each option
AspectRatio (2)

https://wolfram.com/xid/09byepmns-rfz


https://wolfram.com/xid/09byepmns-s36

By default, ArrayPlot3D does not show any axes:

https://wolfram.com/xid/09byepmns-cskav9

AxesLabel (3)
AxesStyle (4)
Change the style for the axes:

https://wolfram.com/xid/09byepmns-kf2va

Specify the style of each axis:

https://wolfram.com/xid/09byepmns-j6kjuz

Use different styles for the ticks and the axes:

https://wolfram.com/xid/09byepmns-ph2qvx

Use different styles for the labels and the axes:

https://wolfram.com/xid/09byepmns-ds8g3i

ClippingStyle (1)
The default is to not show values outside the plot range:

https://wolfram.com/xid/09byepmns-iwrgpo

https://wolfram.com/xid/09byepmns-i5etkc

Show values outside the plot range in red:

https://wolfram.com/xid/09byepmns-fou

Show low values in gray and high values in green:

https://wolfram.com/xid/09byepmns-yyt

ColorFunction (2)
Map values from 0 to 1 onto colors according to Hue:

https://wolfram.com/xid/09byepmns-pqzxu8

https://wolfram.com/xid/09byepmns-bgq

Use a pure function as the color function:

https://wolfram.com/xid/09byepmns-u24

Use a named color gradient from ColorData:

https://wolfram.com/xid/09byepmns-e94xrd

Show elements with value 1 as black and all others as white:

https://wolfram.com/xid/09byepmns-imx

ColorFunctionScaling (1)
With ColorFunctionScaling->True, the values are first scaled to lie between 0 and 1:

https://wolfram.com/xid/09byepmns-otcv2j

https://wolfram.com/xid/09byepmns-koi

ColorRules (1)
Specify color rules for explicit values or patterns:

https://wolfram.com/xid/09byepmns-1gef4h

https://wolfram.com/xid/09byepmns-imy

ColorFunction is used if no color rules apply:

https://wolfram.com/xid/09byepmns-cd6

Implement a "default color" by adding a rule for _:

https://wolfram.com/xid/09byepmns-qux

Use any patterns in ColorRules:

https://wolfram.com/xid/09byepmns-otf

Rules are used in the order given:

https://wolfram.com/xid/09byepmns-qid

DataRange (1)
By default, array values are assumed to have integer i, j and k values:

https://wolfram.com/xid/09byepmns-1vrive

https://wolfram.com/xid/09byepmns-85pewi

Specify the i, j, k coordinate range for tabular data:

https://wolfram.com/xid/09byepmns-p8yfww

DataReversed (1)
Mesh (1)
MeshStyle (1)
OpacityFunction (4)
OpacityFunction is Automatic by default:

https://wolfram.com/xid/09byepmns-tkltq9

https://wolfram.com/xid/09byepmns-in3sxv

Use None to make the whole array opaque:

https://wolfram.com/xid/09byepmns-h26sxh

https://wolfram.com/xid/09byepmns-ddcjsy

Use a custom opacity function to specify the opacity for each value:

https://wolfram.com/xid/09byepmns-bx68kv

https://wolfram.com/xid/09byepmns-cvastz

Use a constant opacity Opacity[0.5]:

https://wolfram.com/xid/09byepmns-cl19zn

https://wolfram.com/xid/09byepmns-82ppdv

OpacityFunctionScaling (2)
By default, scaled values are used:

https://wolfram.com/xid/09byepmns-bfaa9j

https://wolfram.com/xid/09byepmns-cjj88v

Use unscaled values by setting OpacityFunctionScaling to False:

https://wolfram.com/xid/09byepmns-hs3vfj

https://wolfram.com/xid/09byepmns-p1738n

PlotLegends (2)

https://wolfram.com/xid/09byepmns-rpqf53

https://wolfram.com/xid/09byepmns-60vtmd

Generate a legend automatically:

https://wolfram.com/xid/09byepmns-x7pg71

PlotLegends automatically picks up ColorFunction:

https://wolfram.com/xid/09byepmns-dyene3

PlotRange (2)

https://wolfram.com/xid/09byepmns-kl256l

https://wolfram.com/xid/09byepmns-dx7

Plot only elements with values up to 3, leaving the rest empty:

https://wolfram.com/xid/09byepmns-gfo

The first three entries in PlotRange specify the range of i, j and k values to include:

https://wolfram.com/xid/09byepmns-kgc


https://wolfram.com/xid/09byepmns-n2d

PlotTheme (1)
Applications (6)Sample problems that can be solved with this function
Cellular Automata (2)
Array Structures (4)
Highlight a specific element in an array:

https://wolfram.com/xid/09byepmns-i8wlqo

https://wolfram.com/xid/09byepmns-7gz18k

https://wolfram.com/xid/09byepmns-51wj8o


https://wolfram.com/xid/09byepmns-kokj9x

https://wolfram.com/xid/09byepmns-6480ix

https://wolfram.com/xid/09byepmns-0qcl35

Highlight a slice of an array:

https://wolfram.com/xid/09byepmns-759ybi

https://wolfram.com/xid/09byepmns-e7f587

https://wolfram.com/xid/09byepmns-422y11

Highlight a sub-block of values:

https://wolfram.com/xid/09byepmns-7a9dlx

https://wolfram.com/xid/09byepmns-pcuc1g

https://wolfram.com/xid/09byepmns-c5kswc

Properties & Relations (6)Properties of the function, and connections to other functions
Use ArrayPlot or MatrixPlot for 2D arrays:

https://wolfram.com/xid/09byepmns-yae9lp

ArrayPlot3D uses 3D arrays, even if one of the dimensions is 1:

https://wolfram.com/xid/09byepmns-kd0eto

Raster3D arranges elements in the opposite orders from ArrayPlot3D:

https://wolfram.com/xid/09byepmns-klf

The DataReversed option allows ArrayPlot3D to use the same order as Raster3D:

https://wolfram.com/xid/09byepmns-mbj

Use ListDensityPlot3D for continuous densities, using varying opacity to see interior features:

https://wolfram.com/xid/09byepmns-2l6ib9

https://wolfram.com/xid/09byepmns-c3o2zs

Image3D uses interpolated volumetric rendering to display the data:

https://wolfram.com/xid/09byepmns-23x29m

https://wolfram.com/xid/09byepmns-jg9pdg

ReliefPlot creates artificial shadows for 2D data:

https://wolfram.com/xid/09byepmns-yy9gks

Use ComplexArrayPlot for 2D arrays of complex-valued data:

https://wolfram.com/xid/09byepmns-m0mrh5

Neat Examples (3)Surprising or curious use cases
Plot the Sin function at integer points:

https://wolfram.com/xid/09byepmns-ta2

Evolution of a totalistic 3D cellular automaton:

https://wolfram.com/xid/09byepmns-b4xamx

Interactively map GCD values onto colors using Hue:

https://wolfram.com/xid/09byepmns-xja

Wolfram Research (2020), ArrayPlot3D, Wolfram Language function, https://reference.wolfram.com/language/ref/ArrayPlot3D.html.
Text
Wolfram Research (2020), ArrayPlot3D, Wolfram Language function, https://reference.wolfram.com/language/ref/ArrayPlot3D.html.
Wolfram Research (2020), ArrayPlot3D, Wolfram Language function, https://reference.wolfram.com/language/ref/ArrayPlot3D.html.
CMS
Wolfram Language. 2020. "ArrayPlot3D." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ArrayPlot3D.html.
Wolfram Language. 2020. "ArrayPlot3D." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/ArrayPlot3D.html.
APA
Wolfram Language. (2020). ArrayPlot3D. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ArrayPlot3D.html
Wolfram Language. (2020). ArrayPlot3D. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ArrayPlot3D.html
BibTeX
@misc{reference.wolfram_2025_arrayplot3d, author="Wolfram Research", title="{ArrayPlot3D}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/ArrayPlot3D.html}", note=[Accessed: 08-July-2025
]}
BibLaTeX
@online{reference.wolfram_2025_arrayplot3d, organization={Wolfram Research}, title={ArrayPlot3D}, year={2020}, url={https://reference.wolfram.com/language/ref/ArrayPlot3D.html}, note=[Accessed: 08-July-2025
]}