contourplot3d - Maple Help
For the best experience, we recommend viewing online help using Google Chrome or Microsoft Edge.

Online Help

All Products    Maple    MapleSim

Home : Support : Online Help : Graphics : 3-D : contourplot3d





2-D contour plotting




3-D contour plotting


Calling Sequence






Calling Sequence

contourplot(expr1, opts)

contourplot3d(expr1, opts)

contourplot(expr1, x=a..b, y=c..d, opts)

contourplot3d(expr1, x=a..b, y=c..d, opts)

contourplot(f, a..b, c..d, opts)

contourplot3d(f, a..b, c..d, opts)

contourplot([exprf, exprg, exprh], s=a..b, t=c..d, opts)

contourplot3d([exprf, exprg, exprh], s=a..b, t=c..d, opts)

contourplot([f, g, h], a..b, c..d, opts)

contourplot3d([f, g, h],a..b, c..d, opts)


f, g, h


function(s) to be plotted



expression in x and y

exprf, exprg, exprh


expressions in s and t

a, b


real constants

c, d


real constants, procedures or expressions in x

x, y, s, t





(optional) plot options



Both contourplot and contourplot3d take the same arguments and generate a contour plot for a given expression or function. In other words, these commands both produce a set of level curves of the input function for a discrete set of values (i.e. levels) of the third coordinate. The differences are as follows: contourplot3d generates a 3-D view of the contours raised to their appropriate levels, whereas contourplot generates a flat 2-D contour. A 2-D contour can be displayed with a 3-D contour to create a drop-shadow view of the plot (see plottools[transform] for an example). Furthermore, contourplot3d is faster than contourplot. In the following sections and examples, all the features and functionalities apply to both contourplot and contourplot3d, with the exception of color bars, which apply only to 2-D contour plots.


The five different calling sequences to the contourplot function above all define a contour plot. The first three calling sequences describe contour plots in Cartesian coordinates while the last two describe contour parametric plots.


In the first two calling sequences, contourplot(expr1) and contourplot(expr1, x=a..b, y=c..d), the expression expr1 must be a Maple expression in the names x and y.  The range a..b must evaluate to real constants. The range c..d must either evaluate to real constants or be expressions in x. They specify the range over which expr1 is plotted.


If the ranges in these calling sequences are omitted, Maple tries to determine a suitable range automatically. In this case, you can still include the variables x and y to specify the order for these variables: contourplot(expr1, x, y). You cannot supply only one range, or only one variable.


In the third calling sequence, contourplot(f, a..b, c..d), f must be a Maple procedure or operator which takes two arguments. Operator notation must be used, that is, the procedure name is given without parameters specified, and the ranges must be given simply in the form a..b, rather than as an equation. The second range c..d can have arguments evaluating to real constants or procedures of one variable.


A contour parametric plot can be defined by three expressions expr1, expr2, and expr3 in two variables.  In the fourth calling sequence, contourplot([expr1, expr2,expr3], s=a..b, t=c..d), expr1, expr2, and expr3 must be Maple expressions in the names s and t.


Finally, in the fifth calling sequence, contourplot([f, g, h], a..b, c..d), f, g, and h must be Maple procedures or operators taking two arguments.  Here again, operator notation must be used.


A contour plot can also be created from a list of data.  See plots[listcontplot] and plots[listcontplot3d] for details.



Options opts are specified as equations of the form option = value.  For example, the option grid = [m, n] where m and n are positive integers specifies that the contourplot is to be constructed on an m by n grid at equally spaced points in the ranges a..b and c..d respectively. By default a 25 by 25 grid is used, thus 625 points are generated.  See plot/options and plot3d/option for more information.  The gridstyle option is not available for contourplot3d.


There are eight contour levels by default. You can alter the number and the location of the contours used with the option contours = c where c is either an integer specifying the number of evenly spaced levels or a list of points representing the contour levels.


Contour labels showing the contour values associated with each curve can be controlled with the contourlabels = t option, where t is true, false or a list. When t is not false, a contour label appears when the pointer hovers over a curve. The option contourlabels on its own is equivalent to contourlabels = true. Contour labels are available for 2-D plots only and are displayed by default.


For 2-D contour plots a color bar is displayed by default, unless you specify a legend via the legend option below or a user specified list of contours is given with the option contours = [c1, c2, ... ] as above. To suppress the display of a color bar, use the colorbar = false. To force the display of a color bar even with a legend, use the option colorbar = true (or just colorbar). This display of the color bar can also be modified by using colorbar = list_of_options, as described in plot/colorbar.


The colors of the the contour lines are, by default, chosen to lie on a gradient between the first two colors in the default colors set by plots:-setcolors. The contour lines can be made all the same color by specifiying color=c where c is any supported plot color. To specify different gradients the option colorscheme=s can be used where s is a string giving the name of a color collection, ColorTools:-Palette object (including "reverse" or "shifted" modifiers as described in GetPaletteColors), or a list of colors. (Namely the top two forms of plot,colorscheme but not more complicated colorschemes).


The colors specified by s are used to create a color gradient using the ColorTools:-Blend command to color the contour lines, or the filled regions (if the filled option is given). If the number of colors given is exactly equal to the number of contours then the contours will be exactly the colors given. When the filled option is given, one more color is needed since the number of filled regions is exactly one more than the number of contours.


Legend entries showing the contour values associated with each curve can be controlled with the legend = t option, where t is true, false or a list. When t is not false, a legend entry is displayed for each contour. The option legend on its own is equivalent to legend = true. Legends are available for 2-D plots only and are not displayed by default.


Custom contour labels and legend entries may be provided. In this case, t must be a list of n expressions, corresponding to the n contour levels ordered from lowest to highest. The labels and legend entries may include arbitrary mathematical expressions. See the plot/typesetting help page for more details.


Custom contour labels and legend entries that incorporate the contour value or a function of the value can be specified by using the name contourvalue. Here, t can be the name contourvalue itself, a structure contourvalue(p) where p is a procedure, or a typeset structure (as described on the plot/typesetting page) containing either of these as one of its elements. If a procedure p is given, it must take one argument (the contour value) and return a numeric value.


To evaluate and display numerical values with d digits of precision, t must be a list containing the digits=d suboption. To specify custom contour labels or legend entries in addition to this, place both inside a list so that t has the form [s, digits=d], where s specifies the custom labels.


The option filled or filledregion can be used to obtain a filled contour plot. In this case you can also change the default color gradations via the color=c option, where c is a color recognized by plot. See plot/color for information about specifying colors. When a filled contour plot is requested, contour levels provided as a list through the contours option are sorted, if they are not already in increasing or decreasing order.


It is also possible to get a three-dimensional version of contour plots via using the plot3d command with style = contour. See plot3d/option.



Use expressions as input.



An explicit list of colors of the same size as the number of contours will use those exact colors for the contour lines.


For a filled plot, an extra color is needed (4 colors for 3 contours), because the it is the areas between the contours being shaded.


Explicit values for the contours to be plotted can be specified.



If a list of colors smaller than the number of contours is given then coloring will be done by creating a gradient. For filled plots, the color option specifies the colors of the contour lines.


Use procedures as input.


Specify various coordinate systems.


Create multiple contour plots.









Create plots in polar coordinates, where the underlying coordinate system of the 3-D surface is cylindrical.


Suppress contour labels which appear when the pointer moves over a curve.


Suppress the color bar in the display.


Specify the precision of the contour labels.


Provide custom contour labels.


Incorporate the contour value into custom contour labels.

contourplotx2+y2,contours=seqi,i=1..4,contourlabels=typesetthe circle ,x2+y2,=,contourvalue

Display a legend for the contours.


Specify the precision of the contour legend entries as well as the legend location.


Incorporate the contour value into custom contour labels.

contourplotx2+y2,contours=seqi,i=1..4,colorscheme=Orange,Blue,size=400,500,legend=typesetthe circle ,x2+y2,=,contourvalue

The commands to create the plots from the Plotting Guide are






The contourlabels option was introduced in Maple 2017.


For more information on Maple 2017 changes, see Updates in Maple 2017.


The plots[contourplot] command was updated in Maple 2023.


The colorbar and colorscheme options were introduced in Maple 2023.


The legend option was updated in Maple 2023.


For more information on Maple 2023 changes, see Updates in Maple 2023.


The colorbar option was updated in Maple 2024.

See Also