Products
  • Wolfram|One

    The definitive Wolfram Language and notebook experience

  • Mathematica

    The original technical computing environment

  • Notebook Assistant + LLM Kit

    All-in-one AI assistance for your Wolfram experience

  • Compute Services
  • System Modeler
  • Finance Platform
  • Wolfram|Alpha Notebook Edition
  • Application Server
  • Enterprise Private Cloud
  • Wolfram Engine
  • Wolfram Player
  • Wolfram Cloud App
  • Wolfram Player App

More mobile apps

Core Technologies of Wolfram Products

  • Wolfram Language
  • Computable Data
  • Wolfram Notebooks
  • AI & Linguistic Understanding

Deployment Options

  • Wolfram Cloud
  • wolframscript
  • Wolfram Engine Community Edition
  • Wolfram LLM API
  • WSTPServer
  • Wolfram|Alpha APIs

From the Community

  • Function Repository
  • Community Paclet Repository
  • Example Repository
  • Neural Net Repository
  • Prompt Repository
  • Wolfram Demonstrations
  • Data Repository
  • Group & Organizational Licensing
  • All Products
Consulting & Solutions

We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

  • Data & Computational Intelligence
  • Model-Based Design
  • Algorithm Development
  • Wolfram|Alpha for Business
  • Blockchain Technology
  • Education Technology
  • Quantum Computation

Wolfram Consulting

Wolfram Solutions

  • Data Science
  • Artificial Intelligence
  • Biosciences
  • Healthcare Intelligence
  • Sustainable Energy
  • Control Systems
  • Enterprise Wolfram|Alpha
  • Blockchain Labs

More Wolfram Solutions

Wolfram Solutions For Education

  • Research Universities
  • Colleges & Teaching Universities
  • Junior & Community Colleges
  • High Schools
  • Educational Technology
  • Computer-Based Math

More Solutions for Education

  • Contact Us
Learning & Support

Get Started

  • Wolfram Language Introduction
  • Fast Intro for Programmers
  • Fast Intro for Math Students
  • Wolfram Language Documentation

More Learning

  • Highlighted Core Areas
  • Demonstrations
  • YouTube
  • Daily Study Groups
  • Wolfram Schools and Programs
  • Books

Grow Your Skills

  • Wolfram U

    Courses in computing, science, life and more

  • Community

    Learn, solve problems and share ideas.

  • Blog

    News, views and insights from Wolfram

  • Resources for

    Software Developers

Tech Support

  • Contact Us
  • Support FAQs
  • Support FAQs
  • Contact Us
Company
  • About Wolfram
  • Career Center
  • All Sites & Resources
  • Connect & Follow
  • Contact Us

Work with Us

  • Student Ambassador Initiative
  • Wolfram for Startups
  • Student Opportunities
  • Jobs Using Wolfram Language

Educational Programs for Adults

  • Summer School
  • Winter School

Educational Programs for Youth

  • Middle School Camp
  • High School Research Program
  • Computational Adventures

Read

  • Stephen Wolfram's Writings
  • Wolfram Blog
  • Wolfram Tech | Books
  • Wolfram Media
  • Complex Systems

Educational Resources

  • Wolfram MathWorld
  • Wolfram in STEM/STEAM
  • Wolfram Challenges
  • Wolfram Problem Generator

Wolfram Initiatives

  • Wolfram Science
  • Wolfram Foundation
  • History of Mathematics Project

Events

  • Stephen Wolfram Livestreams
  • Online & In-Person Events
  • Contact Us
  • Connect & Follow
Wolfram|Alpha
  • Your Account
  • User Portal
  • Wolfram Cloud
  • Products
    • Wolfram|One
    • Mathematica
    • Notebook Assistant + LLM Kit
    • Compute Services
    • System Modeler
    • Finance Platform
    • Wolfram|Alpha Notebook Edition
    • Application Server
    • Enterprise Private Cloud
    • Wolfram Engine
    • Wolfram Player
    • Wolfram Cloud App
    • Wolfram Player App

    More mobile apps

    • Core Technologies
      • Wolfram Language
      • Computable Data
      • Wolfram Notebooks
      • AI & Linguistic Understanding
    • Deployment Options
      • Wolfram Cloud
      • wolframscript
      • Wolfram Engine Community Edition
      • Wolfram LLM API
      • WSTPServer
      • Wolfram|Alpha APIs
    • From the Community
      • Function Repository
      • Community Paclet Repository
      • Example Repository
      • Neural Net Repository
      • Prompt Repository
      • Wolfram Demonstrations
      • Data Repository
    • Group & Organizational Licensing
    • All Products
  • Consulting & Solutions

    We deliver solutions for the AI era—combining symbolic computation, data-driven insights and deep technical expertise

    WolframConsulting.com

    Wolfram Solutions

    • Data Science
    • Artificial Intelligence
    • Biosciences
    • Healthcare Intelligence
    • Sustainable Energy
    • Control Systems
    • Enterprise Wolfram|Alpha
    • Blockchain Labs

    More Wolfram Solutions

    Wolfram Solutions For Education

    • Research Universities
    • Colleges & Teaching Universities
    • Junior & Community Colleges
    • High Schools
    • Educational Technology
    • Computer-Based Math

    More Solutions for Education

    • Contact Us
  • Learning & Support

    Get Started

    • Wolfram Language Introduction
    • Fast Intro for Programmers
    • Fast Intro for Math Students
    • Wolfram Language Documentation

    Grow Your Skills

    • Wolfram U

      Courses in computing, science, life and more

    • Community

      Learn, solve problems and share ideas.

    • Blog

      News, views and insights from Wolfram

    • Resources for

      Software Developers
    • Tech Support
      • Contact Us
      • Support FAQs
    • More Learning
      • Highlighted Core Areas
      • Demonstrations
      • YouTube
      • Daily Study Groups
      • Wolfram Schools and Programs
      • Books
    • Support FAQs
    • Contact Us
  • Company
    • About Wolfram
    • Career Center
    • All Sites & Resources
    • Connect & Follow
    • Contact Us

    Work with Us

    • Student Ambassador Initiative
    • Wolfram for Startups
    • Student Opportunities
    • Jobs Using Wolfram Language

    Educational Programs for Adults

    • Summer School
    • Winter School

    Educational Programs for Youth

    • Middle School Camp
    • High School Research Program
    • Computational Adventures

    Read

    • Stephen Wolfram's Writings
    • Wolfram Blog
    • Wolfram Tech | Books
    • Wolfram Media
    • Complex Systems
    • Educational Resources
      • Wolfram MathWorld
      • Wolfram in STEM/STEAM
      • Wolfram Challenges
      • Wolfram Problem Generator
    • Wolfram Initiatives
      • Wolfram Science
      • Wolfram Foundation
      • History of Mathematics Project
    • Events
      • Stephen Wolfram Livestreams
      • Online & In-Person Events
    • Contact Us
    • Connect & Follow
  • Wolfram|Alpha
  • Wolfram Cloud
  • Your Account
  • User Portal
Wolfram Language & System Documentation Center
ArrayPlot3D
  • See Also
    • ArrayPlot
    • Image3D
    • ListDensityPlot3D
    • MatrixPlot
    • ReliefPlot
    • ComplexArrayPlot
    • DensityPlot3D
    • Raster3D
    • ListPlot3D
    • SparseArray
    • CellularAutomaton
    • ArrayMesh
    • Cuboid
  • Related Guides
    • Data Visualization
    • See Also
      • ArrayPlot
      • Image3D
      • ListDensityPlot3D
      • MatrixPlot
      • ReliefPlot
      • ComplexArrayPlot
      • DensityPlot3D
      • Raster3D
      • ListPlot3D
      • SparseArray
      • CellularAutomaton
      • ArrayMesh
      • Cuboid
    • Related Guides
      • Data Visualization

ArrayPlot3D[array]

generates a plot in which the values in an array are shown in a discrete array of cubes.

Details and Options
Details and Options Details and Options
Examples  
Basic Examples  
Scope  
Options  
AspectRatio  
AxesLabel  
AxesStyle  
Show More Show More
ClippingStyle  
ColorFunction  
ColorFunctionScaling  
ColorRules  
DataRange  
DataReversed  
Mesh  
MeshStyle  
OpacityFunction  
OpacityFunctionScaling  
PlotLegends  
PlotRange  
PlotTheme  
Ticks  
Applications  
Cellular Automata  
Array Structures  
Properties & Relations  
Neat Examples  
See Also
Related Guides
Related Links
History
Cite this Page
BUILT-IN SYMBOL
  • See Also
    • ArrayPlot
    • Image3D
    • ListDensityPlot3D
    • MatrixPlot
    • ReliefPlot
    • ComplexArrayPlot
    • DensityPlot3D
    • Raster3D
    • ListPlot3D
    • SparseArray
    • CellularAutomaton
    • ArrayMesh
    • Cuboid
  • Related Guides
    • Data Visualization
    • See Also
      • ArrayPlot
      • Image3D
      • ListDensityPlot3D
      • MatrixPlot
      • ReliefPlot
      • ComplexArrayPlot
      • DensityPlot3D
      • Raster3D
      • ListPlot3D
      • SparseArray
      • CellularAutomaton
      • ArrayMesh
      • Cuboid
    • Related Guides
      • Data Visualization

ArrayPlot3D

ArrayPlot3D[array]

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
    SparseArrayvalues as a normal array
    QuantityArraymagnitudes
    NumericArrayvalues as a normal array
    SymmetrizedArrayvalues as a normal array
    Datasetvalues 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]
  • AxesFalsewhether to draw axes
    BoxedTruewhether to draw the bounding box
    ClippingStyle Nonehow to show cells whose values are clipped
    ColorFunction Automatichow each cell should be colored
    ColorFunctionScaling Truewhether to scale the argument to ColorFunction
    ColorRules Automaticrules for determining colors from values
    DataRange Allthe range of and values to assume
    DataReversed Falsewhether to reverse the order of rows
    Lighting"Neutral"whether to use lighting
    Mesh Automaticwhether to draw a mesh
    MeshStyle Automaticthe style to use for a mesh
    MethodAutomaticthe method to use for displaying the array
    MissingStyleAutomaticthe style to use for missing values
    OpacityFunction Automatichow to compute the opacity at each cell
    OpacityFunctionScaling Truewhether to scale the arguments to OpacityFunction
    PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
    PlotLegends Nonelegends for datasets
    PlotRange Allthe range of values to plot
    PlotTheme $PlotThemeoverall theme for the plot
    TargetUnitsAutomaticunits 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 TicksAutomatic, ticks are placed at round integers, typically multiples of 5 or 10.
  • With the setting TicksAll, 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:
  • amaxshow 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
    Allinclude all indices
  • Typical settings for PlotLegends include:
  • Noneno legend
    Automaticautomatically determine legend
    Placed[lspec,…]specify placement for legend
  • Possible settings for Mesh include:
  • Automaticautomatically show the mesh
    Nonedo not show the mesh
    Fullshow mesh adjacent to filled array cells
    Allshow 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".
  • List of all options

    • AlignmentPointCenterthe default point in the graphic to align with
      AspectRatioAutomaticratio of height to width
      AxesFalsewhether to draw axes
      AxesEdgeAutomaticon which edges to put axes
      AxesLabelNoneaxes labels
      AxesOriginAutomaticwhere axes should cross
      AxesStyle{}graphics directives to specify the style for axes
      BackgroundNonebackground color for the plot
      BaselinePositionAutomatichow to align with a surrounding text baseline
      BaseStyle{}base style specifications for the graphic
      BoxedTruewhether to draw the bounding box
      BoxRatiosAutomaticbounding 3D box ratios
      BoxStyle{}style specifications for the box
      ClippingStyleNonehow to show cells whose values are clipped
      ClipPlanesNoneclipping planes
      ClipPlanesStyleAutomaticstyle specifications for clipping planes
      ColorFunctionAutomatichow each cell should be colored
      ColorFunctionScalingTruewhether to scale the argument to ColorFunction
      ColorRulesAutomaticrules for determining colors from values
      ContentSelectableAutomaticwhether to allow contents to be selected
      ControllerLinkingFalsewhen to link to external rotation controllers
      ControllerPathAutomaticwhat external controllers to try to use
      DataRangeAllthe range of and values to assume
      DataReversedFalsewhether to reverse the order of rows
      Epilog{}2D graphics primitives to be rendered after the main plot
      FaceGridsNonegrid lines to draw on the bounding box
      FaceGridsStyle{}style specifications for face grids
      FormatTypeTraditionalFormdefault format type for text
      ImageMargins0.the margins to leave around the graphic
      ImagePaddingAllwhat extra padding to allow for labels, etc.
      ImageSizeAutomaticabsolute size at which to render the graphic
      LabelStyle{}style specifications for labels
      Lighting"Neutral"whether to use lighting
      MeshAutomaticwhether to draw a mesh
      MeshStyleAutomaticthe style to use for a mesh
      MethodAutomaticthe method to use for displaying the array
      MissingStyleAutomaticthe style to use for missing values
      OpacityFunctionAutomatichow to compute the opacity at each cell
      OpacityFunctionScalingTruewhether to scale the arguments to OpacityFunction
      PerformanceGoal$PerformanceGoalaspects of performance to try to optimize
      PlotLabelNonea label for the plot
      PlotLegendsNonelegends for datasets
      PlotRangeAllthe range of values to plot
      PlotRangePaddingAutomatichow much to pad the range of values
      PlotRegionAutomaticfinal display region to be filled
      PlotTheme$PlotThemeoverall theme for the plot
      PreserveImageOptionsAutomaticwhether 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
      SphericalRegionAutomaticwhether to make the circumscribing sphere fit in the final display area
      TargetUnitsAutomaticunits to display in the plot
      TicksAutomaticspecification for ticks
      TicksStyle{}style specification for ticks
      TouchscreenAutoZoomFalsewhether to zoom to fullscreen when activated on a touchscreen
      ViewAngleAutomaticangle of the field of view
      ViewCenterAutomaticpoint to display at the center
      ViewMatrixAutomaticexplicit transformation matrix
      ViewPoint{1.3,-2.4,2.}viewing position
      ViewProjectionAutomaticprojection method for rendering objects distant from the viewer
      ViewRangeAllrange of viewing distances to include
      ViewVectorAutomaticposition and direction of a simulated camera
      ViewVertical{0,0,1}direction to make vertical

Examples

open all close all

Basic Examples  (4)

Plot an array of numbers:

Display the state of a 3D cellular automaton:

Specify overall color rules:

Use a standard blend as a color function:

Scope  (6)

By default, 0 is not plotted and 1 is plotted in black:

With no opacity, 0 is plotted in white:

Plot data with units:

Plot a ragged array, padding on the right:

Cells with value None are rendered like the background:

Plot a sparse array:

Options  (32)

AspectRatio  (2)

Make all cells cubes:

Use a different aspect ratio:

By default, ArrayPlot3D does not show any axes:

AxesLabel  (3)

No axis labels are drawn by default:

Place a label on the axis:

Specify axes labels:

AxesStyle  (4)

Change the style for the axes:

Specify the style of each axis:

Use different styles for the ticks and the axes:

Use different styles for the labels and the axes:

ClippingStyle  (1)

The default is to not show values outside the plot range:

Show values outside the plot range in red:

Show low values in gray and high values in green:

ColorFunction  (2)

Map values from 0 to 1 onto colors according to Hue:

Use a pure function as the color function:

Use a named color gradient from ColorData:

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

ColorFunctionScaling  (1)

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

ColorRules  (1)

Specify color rules for explicit values or patterns:

ColorFunction is used if no color rules apply:

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

Use any patterns in ColorRules:

Rules are used in the order given:

DataRange  (1)

By default, array values are assumed to have integer i, j and k values:

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

DataReversed  (1)

Reverse the order of j and k values:

Reverse the order of i, j and k values:

Mesh  (1)

Insert mesh lines between all cells:

MeshStyle  (1)

Default mesh style:

Make the mesh pink:

OpacityFunction  (4)

OpacityFunction is Automatic by default:

Use None to make the whole array opaque:

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

Use a constant opacity Opacity[0.5]:

OpacityFunctionScaling  (2)

By default, scaled values are used:

Use unscaled values by setting OpacityFunctionScaling to False:

PlotLegends  (2)

No legend is used by default:

Generate a legend automatically:

PlotLegends automatically picks up ColorFunction:

PlotRange  (2)

Plot all elements:

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

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

Plot positive elements only:

PlotTheme  (1)

Use a theme with detailed ticks and a legend:

Ticks  (2)

Put ticks at round numbers:

Ticks at specific values:

Applications  (6)

Cellular Automata  (2)

Plot the state of a 3D cellular automaton:

Plot the evolution of a 2D three-color cellular automaton:

Array Structures  (4)

Highlight a specific element in an array:

Highlight a column of values:

Highlight a slice of an array:

Highlight a sub-block of values:

Properties & Relations  (6)

Use ArrayPlot or MatrixPlot for 2D arrays:

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

Raster3D arranges elements in the opposite orders from ArrayPlot3D:

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

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

Image3D uses interpolated volumetric rendering to display the data:

ReliefPlot creates artificial shadows for 2D data:

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

Neat Examples  (3)

Plot the Sin function at integer points:

Evolution of a totalistic 3D cellular automaton:

Interactively map GCD values onto colors using Hue:

See Also

ArrayPlot  Image3D  ListDensityPlot3D  MatrixPlot  ReliefPlot  ComplexArrayPlot  DensityPlot3D  Raster3D  ListPlot3D  SparseArray  CellularAutomaton  ArrayMesh  Cuboid

Related Guides

    ▪
  • Data Visualization

Related Links

  • An Elementary Introduction to the Wolfram Language : Arrays, or Lists of Lists

History

Introduced in 2020 (12.2)

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.

CMS

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

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: 01-February-2026]}

BibLaTeX

@online{reference.wolfram_2025_arrayplot3d, organization={Wolfram Research}, title={ArrayPlot3D}, year={2020}, url={https://reference.wolfram.com/language/ref/ArrayPlot3D.html}, note=[Accessed: 01-February-2026]}

Top
Introduction for Programmers
Introductory Book
Wolfram Function Repository | Wolfram Data Repository | Wolfram Data Drop | Wolfram Language Products
Top
  • Products
  • Wolfram|One
  • Mathematica
  • Notebook Assistant + LLM Kit
  • Compute Services
  • System Modeler

  • Wolfram|Alpha Notebook Edition
  • Wolfram|Alpha Pro
  • Mobile Apps

  • Wolfram Engine
  • Wolfram Player

  • Volume & Site Licensing
  • Server Deployment Options
  • Consulting
  • Wolfram Consulting
  • Repositories
  • Data Repository
  • Function Repository
  • Community Paclet Repository
  • Neural Net Repository
  • Prompt Repository

  • Wolfram Language Example Repository
  • Notebook Archive
  • Wolfram GitHub
  • Learning
  • Wolfram U
  • Wolfram Language Documentation
  • Webinars & Training
  • Educational Programs

  • Wolfram Language Introduction
  • Fast Introduction for Programmers
  • Fast Introduction for Math Students
  • Books

  • Wolfram Community
  • Wolfram Blog
  • Public Resources
  • Wolfram|Alpha
  • Wolfram Problem Generator
  • Wolfram Challenges

  • Computer-Based Math
  • Computational Thinking
  • Computational Adventures

  • Demonstrations Project
  • Wolfram Data Drop
  • MathWorld
  • Wolfram Science
  • Wolfram Media Publishing
  • Customer Resources
  • Store
  • Product Downloads
  • User Portal
  • Your Account
  • Organization Access

  • Support FAQ
  • Contact Support
  • Company
  • About Wolfram
  • Careers
  • Contact
  • Events
Wolfram Community Wolfram Blog
Legal & Privacy Policy
WolframAlpha.com | WolframCloud.com
© 2026 Wolfram
© 2026 Wolfram | Legal & Privacy Policy |
English