Graphics |

The `contourc`

function calculates the contour matrix for the other contour functions. It is a low-level function that is not called from the command line.

The contouring algorithm first determines which contour levels to draw. If you specified the input vector `v`

, the elements of `v`

are the contour level values, and `length(v)`

determines the number of contour levels generated. If you do not specify `v`

, the algorithm chooses no more than 20 contour levels that are divisible by 2 or 5.

The contouring algorithm treats the input matrix `Z`

as a regularly spaced grid, with each element connected to its nearest neighbors. The algorithm scans this matrix comparing the values of each block of four neighboring elements (i.e., a cell) in the matrix to the contour level values. If a contour level falls within a cell, the algorithm performs a linear interpolation to locate the point at which the contour crosses the edges of the cell. The algorithm connects these points to produce a segment of a contour line.

`contour`

, `contour3`

, and `contourf`

return a two-row matrix specifying all the contour lines. The format of the matrix is

The first row of the column that begins each definition of a contour line contains the value of the contour, as specified by `v`

and used by `clabel`

. Beneath that value is the number of (x,y) vertices in the contour line. Remaining columns contain the data for the (x,y) pairs. For example, the contour matrix calculated by `C = contour(peaks(3))`

is

The circled values begin each definition of a contour line.

Drawing a Single Contour Line at a Desired Level | Changing the Offset of a Contour |