Main Content

contourm

Project 2-D contour plot of map data

Description

contourm(Z,R) creates a contour plot of the regular data grid Z that is spatially referenced by the geographic raster reference object R.

example

contourm(lat,lon,Z) creates a contour plot of the geolocated data grid Z that is referenced to the latitude-longitude coordinates contained in lat and lon.

contourm(___,levels) specifies the contour lines to display, in addition to any combination of arguments from the previous syntaxes.

example

contourm(___,LineSpec) specifies the style and color for the contour lines.

contourm(___,Name,Value) specifies additional options for the contour plot using one or more name-value arguments.

C = contourm(___) returns the contour matrix C, which contains the latitude and longitude coordinates of the vertices at each level.

[C,h] = contourm(___) returns the contour matrix and the contour patches h.

Examples

collapse all

Read geoid heights from the Earth Gravitational Model of 1996 (EGM96) into the workspace. Then, create a contour plot and add a legend.

[Z,R] = egm96geoid;

[C,h] = contourm(Z,R);
xlabel("Longitude")
ylabel("Latitude")
clegendm(C,h,-1)

Figure contains an axes object. The axes object with xlabel Longitude, ylabel Latitude contains 10 objects of type line.

Create an elevation map for a region surrounding the Korean peninsula.

load korea5c
worldmap(korea5c,korea5cR)
geoshow(korea5c,korea5cR,"DisplayType","texturemap")
demcmap(korea5c)

Create a contour plot using geoid heights from the Earth Gravitational Model of 1996 (EGM96). Specify contour levels from -20 to 40 in increments of 5.

N = egm96geoid(korea5cR);
[C,h] = contourm(N,korea5cR,-20:5:40,"k");

Label the contours using white text boxes with red text.

t = clabelm(C,h);
set(t,"Color","r")
set(t,"BackgroundColor","white")
set(t,"FontWeight","bold")

Figure contains an axes object. The hidden axes object contains 48 objects of type line, text, patch, surface.

Since R2024a

Create a contour plot from multiple adjacent data grids by merging the grids.

Read elevation data from two DTED files into the workspace. Merge the data by using the mergetiles function.

[Z1,R1] = readgeoraster("w106/n39.dt0",OutputType="double");
[Z2,R2] = readgeoraster("w106/n40.dt0",OutputType="double");
[Z,R] = mergetiles(Z1,R1,Z2,R2);

Create a map of the region. Then, display contour lines at three levels of the merged data.

figure
usamap(Z,R)
[cm,cp] = contourm(Z,R,3);

Change the colormap. Display the contour line levels in a legend.

colormap lines
leg = clegendm(cm,cp,-1);
leg.Title.String = "Elevation (m)";

Figure contains an axes object. The hidden axes object contains 13 objects of type line, patch, text.

This example uses modified data from the US Geological Survey.

Input Arguments

collapse all

Regular or geolocated data grid, specified as an M-by-N matrix.

The contourm function does not display contour lines for elements of Z that have values of NaN.

Spatial reference for Z, specified as a GeographicCellsReference or GeographicPostingsReference object. The RasterSize property of R must be consistent with size(Z).

Latitude coordinates, specified as an M-by-N matrix or an M-element vector.

This argument does not support NaN values. To indicate missing data, set the corresponding element of Z to a value of NaN, instead.

Longitude coordinates, specified as an M-by-N matrix or an M-element vector.

This argument does not support NaN values. To indicate missing data, set the corresponding element of Z to a value of NaN, instead.

Contour levels, specified as a positive integer or a numeric vector.

  • To display contour lines at n automatically chosen levels, specify this argument as n. The function chooses levels based on the values in Z.

  • To display contour lines at specific levels, specify this argument as a vector of increasing values.

  • To display contour lines at a single level, k, specify this argument as a two-element row vector [k k].

Line style and color, specified as a character vector or string scalar containing characters and symbols. The characters and symbols can appear in any order. You can specify the line style, line color, or both. Marker symbols such as 'o' are ignored.

Example: '--g' is a green dashed line.

Line StyleDescriptionResulting Line
"-"Solid line

Sample of solid line

"--"Dashed line

Sample of dashed line

":"Dotted line

Sample of dotted line

"-."Dash-dotted line

Sample of dash-dotted line, with alternating dashes and dots

Color NameShort NameAppearance
'red''r'

Sample of the color red

'green''g'

Sample of the color green

'blue''b'

Sample of the color blue

'cyan' 'c'

Sample of the color cyan

'magenta''m'

Sample of the color magenta

'yellow''y'

Sample of the color yellow

'black''k'

Sample of the color black

'white''w'

Sample of the color white

Name-Value Arguments

Specify optional pairs of arguments as Name1=Value1,...,NameN=ValueN, where Name is the argument name and Value is the corresponding value. Name-value arguments must appear after other arguments, but the order of the pairs does not matter.

Example: contourm(Z,R,ShowText="on") displays the contour line labels.

Before R2021a, use commas to separate each name and value, and enclose Name in quotes.

Example: contourm(Z,R,"ShowText","on") displays the contour line labels.

Note

In addition to the name-value arguments in this section, you can use name-value arguments to specify values for the HandleVisibility, Parent, Tag, UserData, and Visible properties of the Group object returned by this function. For more information about these group object properties, see Group Properties.

Fill between the contour lines, specified as one of these values:

  • "off" — Do not fill the spaces between contour lines with a color.

  • "on" — Fill the spaces between contour lines with color.

Label spacing along the contour lines, specified as a scalar value in points, where one point is 1/72 inch. Use this property to control the number of contour labels along the contour lines. Smaller values produce more labels.

You must specify ShowText as "on" for LabelSpacing to have an effect.

If the length of a contour line is less than LabelSpacing, then the function displays one label on the line.

Contour levels, specified as a row vector of increasing values in Z. By default, the contourm function chooses values that span the range of values in Z.

Spacing between the contour lines, specified as a positive scalar. For example, specify a value of 2 to display contour lines at increments of 2. By default, the contourm function determines the spacing based on the values in Z. If you specify both levels and LevelStep, then the function ignores LevelStep.

Color of the contour lines, specified as "flat", a color name, a short name, an RGB triplet, or "none". The default value of "flat" selects a distinct color for lines at each contour level from the colormap of the figure in which the contours are drawn. The value "none" applies no color to the lines.

For a custom color, specify an RGB triplet. An RGB triplet is a three-element row vector whose elements specify the intensities of the red, green, and blue components of the color. The intensities must be in the range [0,1]; for example, [0.4 0.6 0.7].

Alternatively, you can specify some common colors by name. This table lists the named color options and equivalent RGB triplets.

Color NameShort NameRGB TripletAppearance
"red""r"[1 0 0]

Sample of the color red

"green""g"[0 1 0]

Sample of the color green

"blue""b"[0 0 1]

Sample of the color blue

"cyan" "c"[0 1 1]

Sample of the color cyan

"magenta""m"[1 0 1]

Sample of the color magenta

"yellow""y"[1 1 0]

Sample of the color yellow

"black""k"[0 0 0]

Sample of the color black

"white""w"[1 1 1]

Sample of the color white

Line style, specified as one of the options listed in this table.

Line StyleDescriptionResulting Line
"-"Solid line

Sample of solid line

"--"Dashed line

Sample of dashed line

":"Dotted line

Sample of dotted line

"-."Dash-dotted line

Sample of dash-dotted line, with alternating dashes and dots

"none"No lineNo line

Contour line width, specified as a positive scalar in points. One point equals 1/72 inch.

Contour line labels, specified as one of these values:

  • "on" — Display the contour level along the contour lines.

  • "off" — Do not label the contour lines.

Output Arguments

collapse all

Contour matrix, returned as a matrix with two rows. This argument contains the data that defines the contour lines. The first row of the matrix contains longitude data and the second row of the matrix contains latitude data.

Contour patches, returned as a Group object.

Version History

Introduced before R2006a

expand all

See Also

Functions