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

Details and Options

  • ArrayPlot[array] by default arranges successive rows of array down the page and successive columns across, just as a table or grid would normally be formatted. »
  • If array contains 0s and 1s, the 1s will appear as black squares and the 0s as white squares.
  • ArrayPlot by default generates grayscale output, in which zero values are shown white, and the maximum positive or negative value is shown black. »
  • With an explicit setting for PlotRange, ArrayPlot by default makes the minimum value white and the maximum black.
  • The values in array can be quantities with units associated with them.
  • The following special entries can be used: »
  • Nonebackground color
    color directivespecified color
  • If array is ragged, shorter rows are treated as padded on the right with background. »
  • ArrayPlot has the same options as Graphics, with the following additions and changes:
  • AspectRatioAutomaticratio of height to width
    ClippingStyleNonehow to show cells whose values are clipped
    ColorFunctionAutomatichow each cell should be colored
    ColorFunctionScalingTruewhether to scale the argument to ColorFunction
    ColorRulesAutomaticrules for determining colors from values
    DataRangeAllthe range of and values to assume
    DataReversedFalsewhether to reverse the order of rows
    FrameAutomaticwhether to draw a frame around the plot
    FrameLabelNonelabels for rows and columns
    FrameTicksNonewhat ticks to include on the frame
    MaxPlotPointsInfinitythe maximum number of points to include
    MeshFalsewhether to draw a mesh
    MeshStyleGrayLevel[GoldenRatio-1]the style to use for a mesh
    PixelConstrainedFalsehow to constrain cells to align with pixels
    PlotLegendsNonelegends for datasets
    PlotRangeAllthe 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 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.
  • With ColorFunctionScaling->False, each value is supplied as the argument to any function given for ColorFunction. »
  • With ColorFunctionScaling->True, the values are scaled to lie between 0 and 1. »
  • If the color determined for a particular cell is None, the cell is rendered in the background color.
  • If no color is determined for a particular cell, the cell is rendered in a default dark red color.
  • 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 FrameTicks->Automatic, ticks are placed at round integers, typically multiples of 5 or 10. »
  • With the setting FrameTicks->All, ticks are also placed at the minimum and maximum and . »
  • In explicit FrameTicks specifications, the tick coordinates are taken to refer to and .
  • With DataReversed->True, tick values decrease from top to bottom.
  • PlotRange->amax specifies that only those between 0 and amax should be shown. »
  • PlotRange->{amin,amax} specifies that between amin and amax should be shown.
  • PlotRange->{{imin,imax},{jmin,jmax}} shows only elements with and in the specified ranges. The topleft element has , . With the default setting DataReversed->False, increases down the page; increases to the right.
  • PlotRange->{ispec,jspec,aspec} shows only elements in the specified ranges of , , and value. »
  • With the default setting for ColorFunction, PlotRange->{amin,amax} specifies that values from amin to amax should be shown with gray scales varying from white to black.
  • Mesh->True draws mesh lines between each cell in the array.
  • Mesh->{mi,mj} gives mesh specifications for the and directions, respectively.
  • With the default setting Frame->Automatic, a frame is drawn only when Mesh->False.
  • For purposes of combining with other graphics, the array element is taken to cover a unit square centered at coordinate position , .
  • A setting DataRange->{{xmin,xmax},{ymin,ymax}} specifies that the centers of successive cells should be at equally spaced positions between xmin and xmax in the horizontal direction, and ymin and ymax in the vertical direction. With the default setting DataReversed->False, is centered at {xmin,ymax}.
  • With the default setting DataRange->All and DataReversed->False, the array element will be taken to cover a unit square centered at coordinate position , .
  • ArrayPlot returns Graphics[Raster[data],opts].
  • With PixelConstrained->True, ArrayPlot generates a Raster with an absolute size that aligns cells with pixels, so that each cell is an integer number of pixels across or each pixel is an integer number of cells across. The cells are each taken to be as large as possible, given the ImageSize setting specified. »
  • ArrayPlot works with SparseArray objects. »


open all close all

Basic Examples  (6)

Plot an array of numbers:

Click for copyable input

Give explicit color directives to specify colors for individual cells:

Click for copyable input

Specify overall color rules:

Click for copyable input

Include a mesh:

Click for copyable input

Plot a table of data:

Click for copyable input

Use a standard blend as a color function:

Click for copyable input

Scope  (7)

Options  (59)

Applications  (11)

Properties & Relations  (7)

Possible Issues  (2)

Neat Examples  (2)

Introduced in 2004
Updated in 2014