GeographicAxes Properties

Control geographic axes appearance and behavior

GeographicAxes properties control the appearance and behavior of a GeographicAxes object. By changing property values, you can modify certain aspects of the geographic axes. Set axes properties after plotting since some graphics functions reset axes properties.

Some graphics functions create geographic axes when plotting. Use gca to access the newly created axes. To create a geographic axes with default values for all properties, use the geoaxes function.

gx = geoaxes;

Maps

expand all

Map on which to plot data, specified as one of the values listed in the table. Six of the basemaps are tiled data sets that MathWorks® derives from public-domain data. Five of the basemaps are high-zoom-level maps hosted by Esri®.

MATLAB® includes one installed basemap, a two-tone map named 'darkwater'. Use of this basemap does not require Internet access. Use of the other basemaps, including the default basemap 'streets-light', does require Internet access.

If you do not have consistent access to the Internet, you can download the basemaps hosted by MathWorks onto your local system by using the Add-On Explorer. The five high-zoom-level maps are not available for download. For more about downloading basemaps and changing the default basemap on your local system, see Access Basemaps in MATLAB.

The five basemaps hosted by Esri include attributions that give credit to the provider of the map data. This attribution can change as you zoom in on a map because different organizations contribute map data at different zoom levels for different localities. Alignment of boundaries and region labels are a presentation of the feature provided by our data vendors and does not imply endorsement by MathWorks.

'streets-light'

Map designed to provide geographic context while highlighting user data on a light background.

Hosted by Esri.

'satellite'

Full global basemap composed of high-resolution satellite imagery.

Hosted by Esri.

'streets-dark'

Map designed to provide geographic context while highlighting user data on a dark background.

Hosted by Esri.

'topographic'

General-purpose map with styling to depict topographic features.

Hosted by Esri.

'streets'

General-purpose road map that emphasizes accurate, legible styling of roads and transit networks.

Hosted by Esri.

'landcover'

Map that combines satellite-derived land cover data, shaded relief, and ocean-bottom relief. The light, natural palette is suitable for thematic and reference maps.

Provided by MathWorks.

'grayterrain'

Terrain map in shades of gray. Shaded relief emphasizes both high mountains and micro-terrain found in lowlands.

Provided by MathWorks.

'colorterrain'

Shaded relief map blended with a land cover palette. Humid lowlands are green and arid lowlands are brown.

Provided by MathWorks.

'grayland'

Two-tone, land-ocean map with gray land areas and white water areas.

Provided by MathWorks.

'bluegreen'

Two-tone, land-ocean map with light green land areas and light blue water areas.

Provided by MathWorks.

'darkwater'

Two-tone, land-ocean map with light gray land areas and dark gray water areas. This basemap is installed with MATLAB.

Provided by MathWorks.

 

'none'

Blank background that plots your data with a latitude-longitude grid, ticks, and labels.

Example: gx = geoaxes('Basemap','bluegreen')

Example: gx.Basemap = 'bluegreen'

Data Types: char | string

This property is read-only.

Latitude limits of map, specified as a 1-by-2 vector of real, finite values of the form [southern_limit northern_limit] in the range [-90,90]. Use the geolimits function to change latitude limits.

Example: [-85 85]

This property is read-only.

Longitude limits of map, specified as a 1-by-2 vector of real, finite values of the form [western_limit eastern_limit]. Values must be in the range (-Inf, Inf). Use the geolimits function to change longitude limits.

Example: [-100 100]

Center point of map in latitude and longitude, specified as a two-element vector of real, finite values of the form [center_latitude center_longitude].

Example: [38.6292 -95.2520]

Selection mode for the map center, specified as one of these values:

  • 'auto' — Object automatically selects the map center based on the range of data.

  • 'manual' — If you specify a value for MapCenter, the object sets this property to 'manual' automatically.

Example: gx.MapCenterMode = 'auto'

Magnification level of map, specified as a real, finite, numeric scalar from 0 through 25, inclusive. The value is a base 2 logarithmic map scale. Increasing the ZoomLevel value by one doubles the map scale.

Selection mode for zoom level, specified as one of these values:

  • 'auto' — Object selects the zoom level based on the range of data.

  • 'manual' — If you specify a value for ZoomLevel, the object sets this property to 'manual' automatically.

Example: gx.ZoomLevelMode = 'manual'

This property is read-only.

Scale bar showing proportional distances on a map, specified as a GeographicScalebar object. To modify the appearance and behavior of the scale bar, such as its visibility, use properties of the GeographicScalebar object. For more information about these properties, see GeographicScalebar Properties.

Example: sbar = gx.Scalebar returns the GeographicScalebar object.

Example: gx.Scalebar.Visible = 'off'; sets the value of the GeographicScalebar property.

Font

expand all

Font name, specified as a supported font name or 'FixedWidth'. To display and print text properly, you must choose a font that your system supports. The default font depends on your operating system and locale.

To use a fixed-width font that looks good in any locale, use 'FixedWidth'. The fixed-width font relies on the root FixedWidthFontName property. Setting the root FixedWidthFontName property causes an immediate update of the display to use the new font.

Font size, specified as a scalar numeric value. The font size affects the title, tick labels, legends, colorbars, and scale bar associated with the axes. The default font size depends on the specific operating system and locale. By default, the font size is measured in points. To change the units, set the FontUnits property.

MATLAB automatically scales some of the text to a percentage of the axes font size.

  • Titles — 110% of the axes font size by default. To control the scaling, use the TitleFontSizeMultiplier and LabelFontSizeMultiplier properties.

  • Legends and colorbars — 90% of the axes font size by default. To specify a different font size, set the FontSize property for the Legend or ColorBar object instead.

  • Scale bar — 80% of the axes font size by default.

Example: gx.FontSize = 12

Selection mode for the font size, specified as one of these values:

  • 'auto' — Font size specified by MATLAB. If you resize the axes to be smaller than the default size, the font size might scale down to improve readability and layout.

  • 'manual' — Font size specified manually. Do not scale the font size as the axes size changes. To specify the font size, set the FontSize property.

Character thickness, specified as 'normal' or 'bold'.

MATLAB uses the FontWeight property to select a font from those available on your system. Not all fonts have a bold weight. Therefore, specifying a bold font weight can still result in the normal font weight.

Character slant, specified as 'normal' or 'italic'.

Not all fonts have both font styles. Therefore, the italic font might look the same as the normal font.

Scale factor for the label font size, specified as a numeric value greater than 0. The scale factor is applied to the value of the FontSize property to determine the font size for the label.

Example: gx.LabelFontSizeMultiplier = 1.75

Scale factor for the title font size, specified as a numeric value greater than 0. The scale factor is applied to the value of the FontSize property to determine the font size for the title.

Example: gx.TitleFontSizeMultiplier = 1.75

Title character thickness, specified as one of these values:

  • 'bold' — Thicker characters outlines than normal

  • 'normal' — Default weight as defined by the particular font

Example: gx.TitleFontWeight = 'normal'

Font size units, specified as one of these values.

UnitsDescription
'points'Points. One point equals 1/72 inch.
'inches'Inches.
'centimeters'Centimeters.
'normalized' Interpret font size as a fraction of the axes height. If you resize the axes, the font size modifies accordingly. For example, if the FontSize is 0.1 in normalized units, then the text is 1/10 of the height value stored in the axes Position property.
'pixels'

Pixels.

Starting in R2015b, distances in pixels are independent of your system resolution on Windows® and Macintosh systems.

  • On Windows systems, a pixel is 1/96th of an inch.

  • On Macintosh systems, a pixel is 1/72nd of an inch.

  • On Linux® systems, the size of a pixel is determined by your system resolution.

To set both the font size and the font units in a single function call, you first must set the FontUnits property so that the Axes object correctly interprets the specified font size.

Ticks

expand all

Tick mark direction, specified as one of these values.

ValueDescriptionExample
'in'Direct the tick marks inward from the axis lines.

'out'Direct the tick marks outward from the axis lines.

'both'Center the tick marks over the axis lines.

Example: gx.TickDir = 'out';

Selection mode for tick mark direction set by the TickDir property, specified as one of these values.

  • 'auto' — Automatically select the tick direction based on the current view.

  • 'manual' — Manually specify the tick direction. To specify the tick direction, set the TickDir property.

Example: gx.TickDirMode = 'auto';

Tick mark length, specified as a two-element vector of the form [length unused]. length is the tick mark length. Specify the values in units normalized relative to the longest axes dimension. The GeographicRuler object uses a two-element vector to be consistent with the value of this property in other ruler objects but the second element is unused.

Note

Setting the TickLength property automatically sets the TickLength property in the GeographicRuler objects associated with the LatitudeAxis and LongitudeAxis properties to the same value. Conversely, setting the TickLength property in the GeographicRuler objects does not automatically set the same property in the axes object. To prevent the axes property value from overriding the ruler property value, set the axes property value first, and then set the ruler property value.

Example: gx.TickLength = [0.02 0.0];

Tick label format, specified as one of the following values.

FormatDescriptionExample
'dd'Decimal degrees plus compass direction
23°N
'dm'Degrees and decimal minutes plus compass direction
18°30'W
'dms' (default)Degrees, minutes, and decimal seconds plus compass direction
110°06'18.5"E
'-dd'Decimal degrees with a minus sign (-) to indicate south and west
-115.25°
'-dm'Degrees and decimal minutes with a minus sign (-) to indicate south and west
-5°45.5'
'-dms'Degrees, minutes, and decimal seconds with a minus sign (-) to indicate south and west
-3°21'05"

The default label format includes degrees, minutes, and seconds. However, the minutes and seconds part of the tick label is not included until you zoom in on the map to at least a zoom level of 14.

Example: gx.TickLabelFormat = '-dm';

Rulers

expand all

Latitude ruler, specified as a GeographicRuler object. Use properties of the GeographicRuler object to control the appearance and behavior of the axis ruler. For more information, see GeographicRuler Properties.

Example: latruler = gx.LatitudeAxis;

Example: gx.LatitudeAxis.TickLabelRotation = 45;

Longitude ruler, specified as a GeographicRuler object. Use properties of the GeographicRuler object to control the appearance and behavior of the axis ruler. For more information, see GeographicRuler Properties.

Example: lonruler = gx.LongitudeAxis;

Example: gx.LongitudeAxis.TickDirection = 'out';

Color of axis lines, tick values, and labels, specified as an RGB triplet, hexadecimal color code, color name, or short color name.

For a custom color, specify an RGB triplet or a hexadecimal color code.

  • 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].

  • A hexadecimal color code is a character vector or a string scalar that starts with a hash symbol (#) followed by three or six hexadecimal digits, which can range from 0 to F. The values are not case sensitive. Thus, the color codes '#FF8800', '#ff8800', '#F80', and '#f80' are equivalent.

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

Color NameShort NameRGB TripletHexadecimal Color CodeAppearance
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Not applicableNot applicableNot applicableNo color

Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.

RGB TripletHexadecimal Color CodeAppearance
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Note

Setting the AxisColor property automatically sets the Color property in the GeographicRuler and GeographicScalebar objects to the same value. The GeographicRuler object controls the behavior and appearance of the rulers in the geographic axes. The GeographicScalebar object controls the scale bar in the geographic axes. Conversely, setting the Color property in the GeographicRuler or GeographicScalebar object does not automatically set the AxisColor property in the axes object. To prevent the axes property value from overriding the ruler or scale bar property value, set the axes property value first, and then set the ruler or scale bar property value.

Example: gx.AxisColor = [0 0 1];

Example: gx.AxisColor = 'b';

Example: gx.AxisColor = 'blue';

Example: gx.AxisColor = '#0000FF';

Grids

expand all

Visibility of latitude and longitude lines on map, specified as 'on', show grid lines, or 'off', do not show grid lines.

Example: gx.Grid = 'off';

Line style for grid lines, specified as one of the line styles in this table.

Line StyleDescriptionResulting Line
'-'Solid line

'--'Dashed line

':'Dotted line

'-.'Dash-dotted line

'none'No lineNo line

To display the grid lines, use the grid on command or set the Grid property to 'on'.

Example: gx.GridLineStyle = '--'

Background color, specified as an RGB triplet, a hexadecimal color code, a color name, or a short color name.

For a custom color, specify an RGB triplet or a hexadecimal color code.

  • 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].

  • A hexadecimal color code is a character vector or a string scalar that starts with a hash symbol (#) followed by three or six hexadecimal digits, which can range from 0 to F. The values are not case sensitive. Thus, the color codes '#FF8800', '#ff8800', '#F80', and '#f80' are equivalent.

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

Color NameShort NameRGB TripletHexadecimal Color CodeAppearance
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Not applicableNot applicableNot applicableNo color

Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.

RGB TripletHexadecimal Color CodeAppearance
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Example: gx.GridColor = [0 0 1];

Example: gx.GridColor = 'b';

Example: gx.GridColor = 'blue';

Example: gx.GridColor = '#0000FF';

Property for setting the grid color, specified as one of these values:

  • 'auto' — Object automatically selects the color.

  • 'manual' — To set the grid line color for all directions, use GridColor.

Grid-line transparency, specified as a value in the range [0,1]. A value of 1 means opaque and a value of 0 means completely transparent.

Example: gx.GridAlpha = 0.5

Selection mode for the GridAlpha property, specified as one of these values:

  • 'auto' — Object selects the transparency value.

  • 'manual' — To specify the transparency value, use the GridAlpha property.

Example: gx.GridAlphaMode = 'auto'

Labels

expand all

Axes title, specified as a Text object or a categorical value.

If you use a Text object, specify the title as the value of the String property of the Text object: gx.Title.String = 'My Geographic Plot'. To change the title appearance, such as the font style or color, use other Text object properties. For a complete list of properties, see Text Properties.

If you specify this property as a categorical array, MATLAB uses the values in the array, not the categories.

You can also use the title function to specify a title.

Example: gx.Title.String = 'My Geographic Plot'

Latitude axis label, specified as a Text object. To specify a label, set the String property of the Text object. To change the label appearance, such as the font style or color, set other Text object properties. For a complete list of properties, see Text Properties.

Example: gx.LatitudeLabel.String = 'My Latitude'

Longitude axis label, specified as a Text object. To specify a label, set the String property of the text object. To change the label appearance, such as the font style or color, set other Text object properties. For a complete list of properties, see Text Properties.

Example: gx.LongitudeLabel.String = 'My Longitude'

This property is read-only.

Legend associated with a geographic axes, specified as a Legend object. To add a legend to the geographic axes, use the legend function. Then, you can use this property to modify the legend. For a complete list of properties, see Legend Properties.

geoplot(rand(3))
legend({'Line 1','Line 2','Line 3'},'FontSize',12)
gx = gca;
gx.Legend.TextColor = 'red';

You also can use this property to determine if the geographic axes has a legend.

gx = gca;
lgd = gx.Legend
if ~isempty(lgd)
    disp('Legend Exists')
end

Multiple Plots

expand all

Color order, specified as a three-column matrix of RGB triplets. This property defines the palette of colors MATLAB uses to create plot objects such as Line, Scatter, and Bar objects. Each row of the array is an RGB triplet. An RGB triplet is a three-element vector whose elements specify the intensities of the red, green, and blue components of a color. The intensities must be in the range [0, 1]. This table lists the default colors.

ColorsColorOrder Matrix


    [    0    0.4470    0.7410
    0.8500    0.3250    0.0980
    0.9290    0.6940    0.1250
    0.4940    0.1840    0.5560
    0.4660    0.6740    0.1880
    0.3010    0.7450    0.9330
    0.6350    0.0780    0.1840]

MATLAB assigns colors to objects according to their order of creation. For example, when plotting lines, the first line uses the first color, the second line uses the second color, and so on. If there are more lines than colors, then the cycle repeats.

Changing the Color Order Before or After Plotting

Starting in R2019b, you can change the color order in either of the following ways:

  • Call the colororder function to change the color order for all the axes in a figure. The colors of existing plots in the figure update immediately. If you place additional axes into the figure, those axes also use the new color order. If you continue to call plotting commands, those commands also use the new colors.

  • Set the ColorOrder property on the axes, call the hold function to set the axes hold state to 'on', and then call the desired plotting functions. This is like calling the colororder function, but in this case you are setting the color order for the specific axes, not the entire figure. Setting the hold state to 'on' is necessary to ensure that subsequent plotting commands do not reset the axes to use the default color order.

If you are using R2019a or an earlier release, changing the color order matrix does not affect existing plots. To change colors in an existing plot, you must set the ColorOrder property, and then set the axes hold state to 'on' before calling any plotting functions.

The behavior of this property changed in R2019b. For more information, see:

Color order index, specified as a positive integer. This property specifies the next color MATLAB selects from the axes ColorOrder property when it creates the next plot object such as a Line, Scatter, or Bar object. For example, if the color order index value is 1, then the next object added to the axes uses the first color in the ColorOrder matrix. If the index value exceeds the number of colors in the ColorOrder matrix, then the index value modulo of the number of colors in the ColorOrder matrix determines the color of the next object.

When the NextPlot property of the axes is set to 'add', then the color order index value increases every time you add a new plot to the axes. To start again with first color, set the ColorOrderIndex property to 1.

The behavior of this property changed in R2019b. For more information, see Indexing scheme for ColorOrder and LineStyleOrder might change plot colors and line styles.

Line style order, specified as a character vector, a cell array of character vectors, or a string array. This property lists the line styles that MATLAB uses to display multiple plot lines in the axes. MATLAB assigns styles to lines according to their order of creation. It changes to the next line style only after cycling through all the colors in the ColorOrder property with the current line style. The default LineStyleOrder has only one line style, '-'.

To customize the line style order, create a cell array of character vectors or a string array. Specify each element of the array as a line specifier or marker specifier from the following tables. You can combine a line and a marker specifier into a single element, such as '-*'.

Line SpecifierDescription
'-' (default) Solid line
'--'Dashed line
':'Dotted line
'-.'Dash-dotted line

Marker SpecifierDescription
'+'Plus sign markers
'o'Circle markers
'*'Star markers
'.'Point markers
'x'Cross markers
's'Square markers
'd'Diamond markers
'^'Upward-pointing triangle markers
'v'Downward-pointing triangle markers
'>'Right-pointing triangle markers
'<'Left-pointing triangle markers
'p'Five-pointed star (pentagram) markers
'h'Six-pointed star (hexagram) markers

Changing Line Style Order Before or After Plotting

Starting in R2019b, you can change the line style order before or after plotting into the axes. When you set the LineStyleOrder property to a new value, MATLAB updates the styles of any lines that are in the axes. If you continue plotting into the axes, your plotting commands continue using the line styles from the updated list.

If you are using R2019a or an earlier release, you must change the line style order before plotting. Set the value of the LineStyleOrder property, and then call the hold function to set the axes hold state to 'on' before calling any plotting functions.

The behavior of this property changed in R2019b. For more information, see:

Line style order index, specified as a positive integer. This property specifies the next line style MATLAB selects from the axes LineStyleOrder property to create the next plot line. For example, if this property is set to 1, then the next plot line you add to the axes uses the first item in the LineStyleOrder property. If the index value exceeds the number of line styles in the LineStyleOrder array, then the index value modulo of the number of elements in the LineStyleOrder array determines the style of the next line.

When the NextPlot property of the axes is set to 'add', MATLAB increments the index value after cycling through all the colors in the ColorOrder property with the current line style. To start again with first line style, set the LineStyleOrderIndex property to 1.

The behavior of this property changed in R2019b. For more information, see Indexing scheme for ColorOrder and LineStyleOrder might change plot colors and line styles.

Properties to reset when adding a new plot to the axes, specified as one of these values:

  • 'add' — Add new plots to the existing axes. Do not delete existing plots or reset axes properties before displaying the new plot.

  • 'replacechildren' — Delete existing plots before displaying the new plot. Reset the ColorOrderIndex and LineStyleOrderIndex properties to 1, but do not reset other axes properties. The next plot added to the axes uses the first color and line style based on the ColorOrder and LineStyle order properties. This value is similar to using cla before every new plot.

  • 'replace' — Delete existing plots and reset axes properties, except Position and Units, to their default values before displaying the new plot.

  • 'replaceall' — Delete existing plots and reset axes properties, except Position and Units, to their default values before displaying the new plot. This value is similar to using cla reset before every new plot.

Figures also have a NextPlot property. Alternatively, you can use the newplot function to prepare figures and axes for subsequent graphics commands.

Order for rendering objects, specified as one of these values:

  • 'depth' — Draw objects in back-to-front order based on the current view. Use this value to ensure that objects in front of other objects are drawn correctly.

  • 'childorder' — Draw objects in the order in which they are created by graphics functions, without considering the relationship of the objects in three dimensions. This value can result in faster rendering, particularly if the figure is very large, but also can result in improper depth sorting of the objects displayed.

Color and Transparency Maps

expand all

Colormap, specified as an m-by-3 array of RGB (red, green, blue) triplets that define m individual colors. Alternatively, you can use the colormap function to change the color map.

MATLAB accesses these colors by their row number.

Example: gx.Colormap = [1 0 1; 0 0 1; 1 1 0] sets the color map to three colors: magenta, blue, and yellow.

Scale for color mapping, specified as one of these values:

  • 'linear' — Linear scale. The tick values along the colorbar also use a linear scale.

  • 'log' — Log scale. The tick values along the colorbar also use a log scale.

Example: gx.ColorScale = 'log'

Color limits for the colormap, specified as a two-element vector of the form [cmin cmax].

If the associated mode property is set to 'auto', then MATLAB chooses the color limits. If you assign a value to this property, then MATLAB sets the mode to 'manual' and does not automatically choose the color limits.

Selection mode for the CLim property, specified as one of these values:

  • 'auto' — Automatically select the limits based on the color data of the graphics objects contained in the axes.

  • 'manual' — Manually specify the values. To specify the values, set the CLim property. The values do not change when the limits of the axes children change.

Transparency map, specified as an array of finite alpha values that progress linearly from 0 to 1. The size of the array can be m-by-1 or 1-by-m. MATLAB accesses alpha values by their index in the array. An alphamap can be any length.

Scale for transparency mapping, specified as one of these values:

  • 'linear' — Linear scale

  • 'log' — Log scale

Example: gx.AlphaScale = 'log'

Alpha limits for alphamap, specified as a two-element vector of the form [amin amax].

If the associated mode property is set to 'auto', then MATLAB chooses the alpha limits. If you set this property, then MATLAB sets the mode to 'manual' and does not automatically choose the alpha limits.

Selection mode for the ALim property, specified as one of these values:

  • 'auto' — Automatically select the limits based on the AlphaData values of the graphics objects contained in the axes.

  • 'manual' — Manually specify the alpha limits. To specify the alpha limits, set the ALim property.

Box Styling

expand all

Background color, specified as an RGB triplet, a hexadecimal color code, a color name, or a color short name. The background color is only visible when the Basemap property is set to 'none'.

For a custom color, specify an RGB triplet or a hexadecimal color code.

  • 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].

  • A hexadecimal color code is a character vector or a string scalar that starts with a hash symbol (#) followed by three or six hexadecimal digits, which can range from 0 to F. The values are not case sensitive. Thus, the color codes '#FF8800', '#ff8800', '#F80', and '#f80' are equivalent.

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

Color NameShort NameRGB TripletHexadecimal Color CodeAppearance
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'Not applicableNot applicableNot applicableNo color

Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.

RGB TripletHexadecimal Color CodeAppearance
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

Example: gx.Color = [0 0 1];

Example: gx.Color = 'b';

Example: gx.Color = 'blue';

Example: gx.Color = '#0000FF';

Width of lines, specified as a positive scalar value in point units. One point equals 1/72 inch.

Example: gx.LineWidth = 1.5

Outline around the geographic axes, specified as either 'on' or 'off'.

Example: gx.Box = 'off'

Position

expand all

Size and position of the geographic axes, including the labels and margins, specified as a four-element vector of the form [left bottom width height]. This vector defines the extents of the rectangle that encloses the outer bounds of the geographic axes. The left and bottom elements define the distance from the lower-left corner of the figure or panel that contains the geographic axes to the lower-left corner of the rectangle. The width and height elements are the rectangle dimensions.

By default, the values are measured in units normalized to the container. To change the units, set the Units property. The default value of [0 0 1 1] includes the whole interior of the container.

Note

Setting this property has no effect when the parent container is a TiledChartLayout.

Size and position of the geographic axes, not including labels or margins, specified as a four-element vector of the form [left bottom width height]. This vector defines the extents of the tightest bounding rectangle that encloses the geographic axes. The left and bottom elements define the distance from the lower-left corner of the container to the lower-left corner of the rectangle. The width and height elements are the rectangle dimensions.

By default, the values are measured in units normalized to the container. To change the units, set the Units property.

Example: gx.Position = [0 0 1 1] specifies no distance between the lower-left corner of the container to the rectangle and width and height to fill the entire container.

Note

Setting this property has no effect when the parent container is a TiledChartLayout.

This property is read-only.

Margins for the text labels, returned as a four-element vector of the form [left bottom right top]. This property is read-only.

The elements define the distances between the bounds of the Position property and the extent of the geographic axes text labels and title. By default, the values are measured in units normalized to the figure or uipanel that contains the geographic axes. To change the units, set the Units property.

The Position property and the TightInset property define the tightest bounding box that encloses the geographic axes and its labels and title.

Position property to hold constant when adding, removing, or changing decorations, specified as one of the following values:

  • 'outerposition' — The OuterPosition property remains constant when you add, remove, or change decorations such as a title or an axis label. If any positional adjustments are needed, MATLAB adjusts the Position property.

  • 'position' — The Position property remains constant when you add, remove, or change decorations such as a title or an axis label. If any positional adjustments are needed, MATLAB adjusts the OuterPosition property.

Note

Setting this property has no effect when the parent container is a TiledChartLayout.

Position units, specified as one of these values.

UnitsDescription
'normalized' (default)Normalized with respect to the container, which is typically the figure or a panel. The lower left corner of the container maps to (0,0) and the upper right corner maps to (1,1).
'inches'Inches
'centimeters'Centimeters
'characters'

Based on the default uicontrol font of the graphics root object:

  • Character width = width of letter x.

  • Character height = distance between the baselines of two lines of text.

'points'Typography points. One point equals 1/72 inch.
'pixels'

Pixels.

  • On Windows systems, a pixel is 1/96th of an inch.

  • On Macintosh systems, a pixel is 1/72nd of an inch.

  • On Linux systems, the size of a pixel is determined by your system resolution.

When specifying the units as a Name,Value pair during object creation, you must set the Units property before specifying the properties that you want to use these units, such as Position.

Layout options, specified as a TiledChartLayoutOptions object. This property specifies options when the axes is a child of a tiled chart layout. Use this property to position the axes within the layout by setting the Tile and TileSpan properties on the TiledChartLayoutOptions object.

For example, this code places axes ax in the third tile of a tiled chart layout.

ax.Layout.Tile = 3;

To make the axes span multiple tiles, specify the TileSpan property as a two-element vector. For example, this axes spans 2 rows and 3 columns of tiles.

ax.Layout.TileSpan = [2 3];

If the axes is not a child of a tiled chart layout (for example, if it is a child of a figure or panel), then this property is empty and has no effect.

Interactivity

expand all

Data exploration toolbar, specified as an AxesToolbar object. The toolbar appears at the top-right corner of the geographic axes when you hover over it. The toolbar provides quick access to data exploration tools, such as zooming, restore view, and data tips.

If you do not want the toolbar to appear when you hover over the geographic axes, set the Visible property of the AxesToolbar object to 'off'. For more information about the properties of an AxesToolbar object, see AxesToolbar Properties.

Example: gx.Toolbar.Visible = 'off'

State of visibility of the geographic axes, specified as one of these values:

  • 'on' — Display the object.

  • 'off' — Hide the object without deleting it. You still can access the properties of an invisible object.

This property is read-only.

Location of mouse pointer, specified as a 2-by-3 array of the form:

[lat lon 0
 lat lon 0]

The CurrentPoint property contains the latitude (lat) and longitude (lon) coordinates of the mouse pointer with respect to the geographic axes. The (lat,lon) points indicate the location of the last mouse click. However, if the figure has a WindowButtonMotionFcn callback defined, then the (lat,lon) points indicate the last location of the mouse pointer.

The format of the return value is consistent with the return value of the CurrentPoint property of the Axes object. For geographic axes, the third column of the return value is always zero. The latitude and longitude values in the second row are duplicates of the values in the first row.

Example: [52.1411 -125.1167 0; 52.1411 -125.1167 0]

Context menu, specified as a ContextMenu object. Use this property to display a context menu when you right-click the object. Create the context menu using the uicontextmenu function.

Note

If the PickableParts property is set to 'none' or if the HitTest property is set to 'off', then the context menu does not appear.

Selection state, specified as one of these values:

  • 'on' — Selected. If you click the object when in plot edit mode, then MATLAB sets its Selected property to 'on'. If the SelectionHighlight property also is set to 'on', then MATLAB displays selection handles around the object.

  • 'off' — Not selected.

Display of selection handles when selected, specified as one of these values:

  • 'on' — Display selection handles when the Selected property is set to 'on'.

  • 'off' — Never display selection handles, even when the Selected property is set to 'on'.

Callbacks

expand all

Mouse-click callback, specified as one of these values:

  • Function handle

  • Cell array containing a function handle and additional arguments

  • Character vector that is a valid MATLAB command or function, which is evaluated in the base workspace (not recommended)

Use this property to execute code when you click the object. If you specify this property using a function handle, then MATLAB passes two arguments to the callback function when executing the callback:

  • Clicked object — Access properties of the clicked object from within the callback function.

  • Event data — Empty argument. Replace it with the tilde character (~) in the function definition to indicate that this argument is not used.

For more information on how to use function handles to define callback functions, see Callback Definition.

Note

If the PickableParts property is set to 'none' or if the HitTest property is set to 'off', then this callback does not execute.

Object creation function, specified as one of these values:

  • Function handle.

  • Cell array in which the first element is a function handle. Subsequent elements in the cell array are the arguments to pass to the callback function.

  • Character vector containing a valid MATLAB expression (not recommended). MATLAB evaluates this expression in the base workspace.

For more information about specifying a callback as a function handle, cell array, or character vector, see Callback Definition.

This property specifies a callback function to execute when MATLAB creates the object. MATLAB initializes all property values before executing the CreateFcn callback. If you do not specify the CreateFcn property, then MATLAB executes a default creation function.

Setting the CreateFcn property on an existing component has no effect.

If you specify this property as a function handle or cell array, you can access the object that is being created using the first argument of the callback function. Otherwise, use the gcbo function to access the object.

Object deletion function, specified as one of these values:

  • Function handle.

  • Cell array in which the first element is a function handle. Subsequent elements in the cell array are the arguments to pass to the callback function.

  • Character vector containing a valid MATLAB expression (not recommended). MATLAB evaluates this expression in the base workspace.

For more information about specifying a callback as a function handle, cell array, or character vector, see Callback Definition.

This property specifies a callback function to execute when MATLAB deletes the object. MATLAB executes the DeleteFcn callback before destroying the properties of the object. If you do not specify the DeleteFcn property, then MATLAB executes a default deletion function.

If you specify this property as a function handle or cell array, you can access the object that is being deleted using the first argument of the callback function. Otherwise, use the gcbo function to access the object.

Callback Execution Control

expand all

Callback interruption, specified as 'on' or 'off'. The Interruptible property determines if a running callback can be interrupted.

There are two callback states to consider:

  • The running callback is the currently executing callback.

  • The interrupting callback is a callback that tries to interrupt the running callback.

Whenever MATLAB invokes a callback, that callback attempts to interrupt the running callback (if one exists). The Interruptible property of the object owning the running callback determines if interruption is allowed. The Interruptible property has two possible values:

  • 'on' — Allows other callbacks to interrupt the object's callbacks. The interruption occurs at the next point where MATLAB processes the queue, such as when there is a drawnow, figure, uifigure, getframe, waitfor, or pause command.

    • If the running callback contains one of those commands, then MATLAB stops the execution of the callback at that point and executes the interrupting callback. MATLAB resumes executing the running callback when the interrupting callback completes.

    • If the running callback does not contain one of those commands, then MATLAB finishes executing the callback without interruption.

  • 'off' — Blocks all interruption attempts. The BusyAction property of the object owning the interrupting callback determines if the interrupting callback is discarded or put into a queue.

Note

Callback interruption and execution behave differently in these situations:

  • If the interrupting callback is a DeleteFcn, CloseRequestFcn or SizeChangedFcn callback, then the interruption occurs regardless of the Interruptible property value.

  • If the running callback is currently executing the waitfor function, then the interruption occurs regardless of the Interruptible property value.

  • Timer objects execute according to schedule regardless of the Interruptible property value.

When an interruption occurs, MATLAB does not save the state of properties or the display. For example, the object returned by the gca or gcf command might change when another callback executes.

Callback queuing, specified as 'queue' or 'cancel'. The BusyAction property determines how MATLAB handles the execution of interrupting callbacks. There are two callback states to consider:

  • The running callback is the currently executing callback.

  • The interrupting callback is a callback that tries to interrupt the running callback.

Whenever MATLAB invokes a callback, that callback attempts to interrupt a running callback. The Interruptible property of the object owning the running callback determines if interruption is permitted. If interruption is not permitted, then the BusyAction property of the object owning the interrupting callback determines if it is discarded or put in the queue. These are possible values of the BusyAction property:

  • 'queue' — Puts the interrupting callback in a queue to be processed after the running callback finishes execution.

  • 'cancel' — Does not execute the interrupting callback.

Ability to capture mouse clicks, specified as one of these values:

  • 'visible' — Capture mouse clicks only when visible. The Visible property must be set to 'on'. The HitTest property determines if the GeographicAxes object responds to the click or if an ancestor does.

  • 'all' — Capture mouse clicks regardless of visibility. The Visible property can be set to 'on' or 'off'. The HitTest property determines if the GeographicAxes object responds to the click or if an ancestor does.

  • 'none' — Cannot capture mouse clicks. Clicking the GeographicAxes object passes the click to the object below it in the current view of the figure window, which is typically the axes or the figure. The HitTest property has no effect.

If you want an object to be clickable when it is underneath other objects that you do not want to be clickable, then set the PickableParts property of the other objects to 'none' so that the click passes through them.

Response to captured mouse clicks, specified as one of these values:

  • 'on' — Trigger the ButtonDownFcn callback of the GeographicAxes object. If you have defined the UIContextMenu property, then invoke the context menu.

  • 'off' — Trigger the callbacks for the nearest ancestor of the GeographicAxes object that has one of these:

    • HitTest property set to 'on'

    • PickableParts property set to a value that enables the ancestor to capture mouse clicks

Note

The PickableParts property determines if the GeographicAxes object can capture mouse clicks. If it cannot, then the HitTest property has no effect.

This property is read-only.

Deletion status, returned as 'off' or 'on'. MATLAB sets the BeingDeleted property to 'on' when the DeleteFcn callback begins execution. The BeingDeleted property remains set to 'on' until the component object no longer exists.

Check the value of the BeingDeleted property to verify that the object is not about to be deleted before querying or modifying it.

Parent/Child

expand all

Parent container, specified as a Figure, Panel, Tab, or TiledChartLayout object.

Children, returned as an array of graphics objects. Use this property to view a list of the children or to reorder the children by setting the property to a permutation of itself.

You cannot add or remove children using the Children property. To add a child to this list, set the Parent property of the child graphics object to the GeographicAxes object.

Visibility of the object handle in the Children property of the parent, specified as one of these values:

  • 'on' — Object handle is always visible.

  • 'off' — Object handle is invisible at all times. This option is useful for preventing unintended changes by another function. Set the HandleVisibility to 'off' to temporarily hide the handle during the execution of that function.

  • 'callback' — Object handle is visible from within callbacks or functions invoked by callbacks, but not from within functions invoked from the command line. This option blocks access to the object at the command line, but permits callback functions to access it.

If the object is not listed in the Children property of the parent, then functions that obtain object handles by searching the object hierarchy or querying handle properties cannot return it. Examples of such functions include the get, findobj, gca, gcf, gco, newplot, cla, clf, and close functions.

Hidden object handles are still valid. Set the root ShowHiddenHandles property to 'on' to list all object handles regardless of their HandleVisibility property setting.

Identifiers

expand all

This property is read-only.

Type of graphics object, returned as 'geoaxes'.

Object identifier, specified as a character vector or string scalar. You can specify a unique Tag value to serve as an identifier for an object. When you need access to the object elsewhere in your code, you can use the findobj function to search for the object based on the Tag value.

User data, specified as any MATLAB array. For example, you can specify a scalar, vector, matrix, cell array, character array, table, or structure. Use this property to store arbitrary data on an object.

If you are working in App Designer, create public or private properties in the app to share data instead of using the UserData property. For more information, see Share Data Within App Designer Apps.

Compatibility Considerations

expand all

Behavior changed in R2019b

Behavior changed in R2019b

Introduced in R2018b