This example shows how to use geographic and nongeographic objects in a map axes. The example illustrates the difference between using MATLAB functions, such as plot
and grid
, and their Mapping Toolbox counterparts, plotm
and gridm
.
Make a Miller map axes with a latitude and longitude grid. These functions create a map axes object, a map frame enclosing the region of interest, and geographic grid lines. The x-y axes, which are normally hidden, are displayed, and the axes x-y grid is turned off. The gridm
function constructs lines to illustrate the latitude-longitude grid, unlike the MATLAB grid
function, which draws an x-y grid for the underlying projected map coordinates. Depending on the type of projection, a latitude-longitude grid (or graticule) can contain curves while a MATLAB grid never does.
axesm miller; framem on; gridm on; mlabel on; plabel on; showaxes; grid off;
Place a standard MATLAB text object and a mapped text object, using the two separate coordinate systems. In the figure, a standard text object is placed at x=-2 and y=-1, while the mapped text object is placed at (70 degrees N, 150 degrees W) in the Miller projection.
text(-2,-1,'Standard text object at x = -2, y = -1') textm(70,-150,'Mapped text object at lat = 70, lon = -150')
Change the projection to sinusoidal. The standard text object remains at the same Cartesian position, which alters its latitude-longitude position. The mapped text object remains at the same geographic location, so its x-y position is altered. Also, the frame and grid lines reflect the new map projection. Similarly, vector and raster (matrix) data can be displayed using either mapping functions ( plotm
) or standard functions ( plot
).
setm(gca,'MapProjection','sinusoid') showaxes; grid off; mlabel off