Contour plot of matrix
[C,h] = contour(...)
A contour plot displays isolines of matrix Z. Label the contour lines using clabel.
contour(Z) draws a contour plot of matrix Z, where Z is interpreted as heights with respect to the x-y plane. Z must be at least a 2-by-2 matrix that contains at least two different values. The number of contour lines and the values of the contour lines are chosen automatically based on the minimum and maximum values of Z. The ranges of the x- and y-axis are [1:n] and [1:m], where [m,n] = size(Z).
contour(Z,v) draws a contour plot of matrix Z with contour lines at the data values specified in the monotonically increasing vector v. The number of contour levels is equal to length(v). Specifying the vector v sets the LevelListMode to manual to allow user control over contour levels. To display a single contour line at a particular value, define v as a two-element vector with both elements equal to the desired contour level. For example, to draw a single contour of level i, use contour(Z,[i i]).
If X and Y are vectors, then the length of X must equal the number of columns in Z and the length of Y must equal the number of rows in Z.
If X and Y are matrices, then their sizes must equal the size of Z.
If X or Y is irregularly spaced, then contour calculates contours using a regularly spaced contour grid, and then transforms the data to X or Y.
contour(...,LineSpec) draws the contours using the line type and color specified by LineSpec. contour ignores marker symbols.
[C,h] = contour(...) returns a contour matrix, C, that contains the data that defines the contour lines, and a handle, h, to a contourgroup object. The clabel function uses contour matrix C to label the contour lines. ContourMatrix is also a read-only contourgroup property that you can obtain from the returned handle.
Use contour object properties to control the contour plot appearance.
Use the meshgrid function to generate matrices X and Y. Create a third matrix, Z, and plot its contours.
x = linspace(-2*pi,2*pi); y = linspace(0,4*pi); [X,Y] = meshgrid(x,y); Z = sin(X)+cos(Y); figure contour(X,Y,Z)
Store the data from the peaks function in matrices X, Y, and Z. Plot 20 contours of the data in Z.
[X,Y,Z] = peaks; figure contour(X,Y,Z,20)
Set up matrices X, Y, and Z. Create a contour plot and display the contour labels by setting the ShowText property to on.
x = -2:0.2:2; y = -2:0.2:3; [X,Y] = meshgrid(x,y); Z = X.*exp(-X.^2-Y.^2); figure contour(X,Y,Z,'ShowText','on')
Create a contour plot of the peaks function and display only one contour level at Z = 1.
x = -3:0.125:3; y = -3:0.125:3; [X,Y] = meshgrid(x,y); Z = peaks(X,Y); v = [1,1]; figure contour(X,Y,Z,v);
The contour function cannot determine if there are discontinuities in the input data. You can add NaNs to the data to prevent drawing the contour lines in those regions.