ListContourPlot [{{f11,…,f1n},…,{fm1,…,fmn}}]
generates a contour plot from an array of values fij.
ListContourPlot [{{x1,y1,f1},…,{xk,yk,fk}}]
generates a contour plot from values fi specified at points {xi,yi}.
ListContourPlot
ListContourPlot [{{f11,…,f1n},…,{fm1,…,fmn}}]
generates a contour plot from an array of values fij.
ListContourPlot [{{x1,y1,f1},…,{xk,yk,fk}}]
generates a contour plot from values fi specified at points {xi,yi}.
Details and Options
- ListContourPlot is also known as an isoline, isocurve, level set or sublevel set plot.
- Regular data {{f11,…,f1n},…,{fm1,…,fmn}} is plotted as a function f[x,y] where f[j,i] has value fij at the point {x,y}.
- Irregular data {{x1,y1,f1},…,{xk,yk,fk}} is plotted as a function f[x,y] where f[xi,yi] has value fi at the point {x,y}.
- ListContourPlot constructs contour curves corresponding to the level sets where f[x,y] has constant values d1, d2, etc. By default, the regions between the curves are shaded to more easily identify regions whose values are between di and di+1.
- It visualizes the areas where f is the function above and the region is the Cartesian product for regular data and the convex hull of {{x1,y1},…,{xn,yn}} for irregular data.
- For regular data {{f11,…,f1n},…,{fm1,…,fmn}}, the location for value fij is taken to be . Use the option DataRange to override that.
- By default, the color scale generates output in which larger values are shown as lighter colors.
- ListContourPlot linearly interpolates values to give smooth contours.
- Data values xi, yi and zi can be given in the following forms:
-
xi a real-valued number
- ListContourPlot [data] can use the following forms and interpretations for data:
-
{<|xkeyx1,ykeyy1,fkeyf1|>,…,<|xkeyxn,ykeyyn,fkeyfn|>} irregular triples {xi,yi,fi}{{x1,y1},…,{xn,yn}}{f1,…,fn} irregular triples {xi,yi,fi}Dataset values as a normal arrayNumericArray values as a normal arrayQuantityArray magnitudesSparseArray values as a normal array
- ListContourPlot [Tabular […]cspec] extracts and plots values from the tabular object using the column specification cspec.
- The following forms of column specifications cspec are allowed for plotting tabular data:
-
{colx,coly,colz} plot column z against columns x and y{{colx1,coly1,colz1},{colx2,coly2,colz2},…} plot column z1 against column x1 and y1 , z2 against x2 and y2, etc.
- ListContourPlot has the same options as Graphics , with the following additions and changes: [List of all options]
-
InterpolationOrder None the polynomial degree in each variable of the function interpolated between data points
- Possible settings for PlotLayout that show single contours in multiple plot panels include:
-
"Column" use separate contours in a column of panels"Row" use separate contours in a row of panels{"Column",k},{"Row",k} use k columns or rows
- DataRange determines the {x,y} position for value fij in the array {{f11,…,f1n},…,{fm1,…,fmn}}. Possible settings include:
-
{{xmin,xmax},{ymin,ymax}} uniform in x from xmin to xmax and in y from ymin to ymax
- The case ListContourPlot [{{a11,a12,a13},…}] can be interpreted as both regular and irregular data. With DataRange->Automatic it is interpreted as irregular {{x1,y1,f1},{x2,y2,f2},…} and with DataRange All it is interpreted as regular {{f11,…,f1n},…,{fm1,…,fmn}}.
- In determining how to color regions between contour levels, ListContourPlot looks first at any explicit setting given for ContourShading , then at the setting for ColorFunction .
- ListContourPlot works with SparseArray objects.
- The arguments supplied to functions in MeshFunctions and RegionFunction are x, y, f.
- ColorFunction is by default supplied with a single argument, given by the average of the scaled values of f for each pair of successive contour levels.
- Typical settings for PlotLegends include:
-
None no legendAutomatic automatically determine legend
- Possible settings for ScalingFunctions include:
-
sf scale the f-values{sx,sy} scale x and y axes{sx,sy,sf} scale x and y axes and f-values
- Each scaling function si is either a string "scale" or {g,g-1}, where g-1 is the inverse of g.
- ListContourPlot returns Graphics [GraphicsComplex [data]].
- Highlight options with settings specific to ListContourPlot
-
AspectRatio 1 ratio of height to widthImageMargins 0. the margins to leave around the graphicInterpolationOrder None the polynomial degree in each variable of the function interpolated between data pointsPreserveImageOptions Automatic whether to preserve image options when displaying new versions of the same graphic
List of all options
Examples
open all close allBasic 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 (17)
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:
Tabular Data (1)
Get tabular data:
Plot a shaded contour plot of column f over columns x and y:
Plot multiple sets of columns, arranging the plots in a row:
Include color bar legends for the plot:
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 (107)
AspectRatio (4)
By default, ListContourPlot uses the same width and height:
Use numerical value to specify the height to width ratio:
AspectRatio Automatic determines the ratio from the plot ranges:
AspectRatio Full 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 opaque 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 AspectRatio Full will fill the available space:
Use maximum sizes for the width and height:
Use ImageSize Full 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:
PlotFit (4)
By default, contours can be very detailed:
Fitting the data results in smoother contours:
Fit a quadratic surface to the data:
Use KernelModelFit to approximate the data:
PlotInteractivity (2)
By default, contours are interactively labeled with tooltips:
Disable the interactive features:
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)
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:
Tech Notes
History
Introduced in 1988 (1.0) | Updated in 2007 (6.0) ▪ 2008 (7.0) ▪ 2012 (9.0) ▪ 2014 (10.0) ▪ 2016 (11.0) ▪ 2017 (11.1) ▪ 2021 (13.0) ▪ 2025 (14.2) ▪ 2025 (14.3)
Text
Wolfram Research (1988), ListContourPlot, Wolfram Language function, https://reference.wolfram.com/language/ref/ListContourPlot.html (updated 2025).
CMS
Wolfram Language. 1988. "ListContourPlot." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2025. https://reference.wolfram.com/language/ref/ListContourPlot.html.
APA
Wolfram Language. (1988). ListContourPlot. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/ListContourPlot.html
BibTeX
@misc{reference.wolfram_2025_listcontourplot, author="Wolfram Research", title="{ListContourPlot}", year="2025", howpublished="\url{https://reference.wolfram.com/language/ref/ListContourPlot.html}", note=[Accessed: 05-December-2025]}
BibLaTeX
@online{reference.wolfram_2025_listcontourplot, organization={Wolfram Research}, title={ListContourPlot}, year={2025}, url={https://reference.wolfram.com/language/ref/ListContourPlot.html}, note=[Accessed: 05-December-2025]}