generates a contour plot from an array of values fij.


generates a contour plot from values fi specified at points {xi,yi}.

Details and Options


open allclose all

Basic Examples  (4)

Generate contours from an array of heights:

Give explicit , , coordinates for the data:

Generate contours over interpolated data with a legend:

Use a multipanel layout to show multiple datasets at the same time:

Scope  (16)

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:

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

Areas around where the data is nonreal are excluded:

Use MaxPlotPoints to limit the number of points used:

PlotRange is selected automatically:

Use PlotRange to focus in on areas of interest:

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

Presentation  (8)

Add labels:

Color the density by height:

Include a legend:

Label the contours:

Use specific colors between contours:

Use different styles for the contours:

Use a theme with simple ticks and a legend:

Use a multipanel layout to show multiple datasets at the same time:

Use a column instead of a row:

Options  (101)

AspectRatio  (4)

By default, ListContourPlot uses the same width and height:

Use numerical value to specify the height to width ratio:

AspectRatioAutomatic determines the ratio from the plot ranges:

AspectRatioFull adjusts the height and width to tightly fit inside other constructs:

Axes  (4)

By default, ListContourPlot uses a frame instead of axes:

Use axes instead of a frame:

Use AxesOrigin to specify where the axes intersect:

Turn each axis on individually:

AxesLabel  (4)

No axes labels are drawn by default:

Place a label on the axis:

Specify axes labels:

Use units as labels:

AxesOrigin  (2)

The position of the axes is determined automatically:

Specify an explicit origin for the axes:

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:

BoundaryStyle  (4)

No boundary is used by default:

Use a red boundary around the edges of the contours:

BoundaryStyle applies to holes cut by RegionFunction:

BoundaryStyle applies where there are jumps in the surface:

ClippingStyle  (4)

Clipped regions are not shown by default:

Color clipped regions like the rest of the surface:

Use pink to fill the clipped regions:

Use light red where the surface is clipped above and pink below:

ColorFunction  (2)

Color by scaled coordinate:

Named color gradients color in the direction:

ColorFunctionScaling  (1)

Color with blue if contour values are negative, and with red otherwise:

ContourLabels  (2)

Add labels to contour lines:

Label with values in a frame:

Contours  (7)

Use 7 equally spaced contours:

Use automatic contour selection:

Use at most 5 automatically selected contours:

Use specific contours:

Use specific contours with specific styles:

Use a function to generate a set of contours:

Have contours at the 10% and 90% percentile values:

ContourShading  (4)

The automatic shading is darker at low values and lighter at high values:

Use None to only show the contour lines:

Shade between contours using a color function:

Use an explicit list of colors between contours:

ContourStyle  (5)

The default contour style is a partially transparent line:

Use black contour lines:

Use None to not show contour lines:

Alternate between red and dashed contour lines:

Use dashed red contour lines:

DataRange  (4)

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

Rescale to the sampling space:

Triples are interpreted as , , coordinates:

Generate an array of triples:

Force interpretation as an array of height values:

ImageSize  (7)

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

Specify the width of the plot:

Specify the height of the plot:

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

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

Setting AspectRatioFull will fill the available space:

Use maximum sizes for the width and height:

Use ImageSizeFull to fill the available space in an object:

Specify the image size as a fraction of the available space:

InterpolationOrder  (5)

Contours are normally based on a linear interpolation of the data:

Use zero-order or piecewise constant interpolation:

Use third-order spline interpolation to fit the data:

Interpolation order 0 to 5:

With a limited number of points, irregular data is linearly interpolated:

Irregular data with InterpolationOrder->1 uses natural neighbor interpolation:

MaxPlotPoints  (4)

ListContourPlot normally uses all of the points in the dataset:

Limit the number of points used in each direction:

MaxPlotPoints imposes a regular grid on irregular data:

The grid does not extend beyond the convex hull of the original data:

Mesh  (2)

Show the initial and final sampling mesh:

Use 5 mesh levels in each direction:

MeshFunctions  (2)

Use mesh lines in the and directions:

Use mesh levels corresponding to real and imaginary parts of a complex-valued function:

MeshStyle  (2)

Use red mesh lines:

Use red mesh lines in the direction and dashed mesh lines in the direction:

PerformanceGoal  (2)

Generate a higher-quality plot:

Emphasize performance, possibly at the cost of quality:

PlotLayout  (3)

Place each contour in a separate panel using shared axes:

Use a row instead of a column:

Use multiple columns or rows:

Prefer full columns or rows:

PlotLegends  (6)

No legend is used, by default:

Include a legend:

Legends automatically use the same colors as the density plot:

Use Placed to change legend placement:

Use BarLegend to customize the legend:

Legends automatically select contours to label:

Label all of the contours:

PlotRange  (3)

Automatically compute the range:

Use all points to compute the range:

Use an explicit range to emphasize features:

PlotTheme  (1)

Use a monochrome theme:

Change the tone:

Add a legend and change the contour style:

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  (9)

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 a reciprocal scale in the direction:

Use different scales in the and directions:

Reverse the axis without changing the axis:

Use a scale defined by a function and its inverse:

Positions in Ticks and GridLines are automatically scaled:

PlotRange is automatically scaled:

Applications  (2)

The contours for a probability density function:

Compare to the empirical density function:

Contouring medical data:

Properties & Relations  (15)

ListContourPlot is similar to ListDensityPlot, but with bands of discrete colors:

ListContourPlot and ListPlot3D view as a function of and :

The data has only one value for each , pair:

The data has two values for each , pair:

Use ArrayPlot for arrays of discrete data:

Use MatrixPlot for structural plots of matrices:

Use ReliefPlot for matrices corresponding to medical and geographic values:

Use GeoContourPlot to plot geographic data:

Use ListContourPlot3D to generate contour surfaces from four-dimensional data:

Use ContourPlot for functions:

Use ListPointPlot3D to show three-dimensional points:

Use ListDensityPlot to create densities from continuous data:

Use ListPlot3D to create surfaces from continuous data:

Use ListLogPlot, ListLogLogPlot, and ListLogLinearPlot for logarithmic plots:

Use ListPolarPlot for polar plots:

Use DateListPlot to show data over time:

Use ParametricPlot3D for three-dimensional parametric curves and surfaces:

Possible Issues  (2)

The appearance may depend on the source of the data:

An ×3 matrix is by default interpreted as a list of triples:

Use DataRange->All to force interpretation as a matrix of values:

Or provide an explicit list of data ranges to force interpretation as a matrix of values:

Wolfram Research (1988), ListContourPlot, Wolfram Language function, (updated 2021).


Wolfram Research (1988), ListContourPlot, Wolfram Language function, (updated 2021).


Wolfram Language. 1988. "ListContourPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2021.


Wolfram Language. (1988). ListContourPlot. Wolfram Language & System Documentation Center. Retrieved from


@misc{reference.wolfram_2024_listcontourplot, author="Wolfram Research", title="{ListContourPlot}", year="2021", howpublished="\url{}", note=[Accessed: 21-June-2024 ]}


@online{reference.wolfram_2024_listcontourplot, organization={Wolfram Research}, title={ListContourPlot}, year={2021}, url={}, note=[Accessed: 21-June-2024 ]}