GeographicAxes Properties
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
Basemap
— Map on which to plot data
'streets-light'
(default) | 'streets-dark'
| 'streets'
| 'satellite'
| 'topographic'
| ...
Map on which to plot data, specified as one of the values listed in the table. Six of the basemaps are tiled data sets created using Natural Earth. Five of the basemaps are high-zoom-level maps hosted by Esri®.
|
Map designed to provide geographic context while highlighting user data on a light background. Hosted by Esri. |
|
Map designed to provide geographic context while highlighting user data on a dark background. Hosted by Esri. |
|
General-purpose road map that emphasizes accurate, legible styling of roads and transit networks. Hosted by Esri. |
|
Full global basemap composed of high-resolution satellite imagery. Hosted by Esri. |
|
General-purpose map with styling to depict topographic features. Hosted by Esri. |
|
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. Created using Natural Earth. |
|
Shaded relief map blended with a land cover palette. Humid lowlands are green and arid lowlands are brown. Created using Natural Earth. |
|
Terrain map in shades of gray. Shaded relief emphasizes both high mountains and micro-terrain found in lowlands. Created using Natural Earth. |
|
Two-tone, land-ocean map with light green land areas and light blue water areas. Created using Natural Earth. |
|
Two-tone, land-ocean map with gray land areas and white water areas. Created using Natural Earth. |
|
Two-tone, land-ocean map with light gray land areas and dark gray water areas. This basemap is installed with MATLAB®. Created using Natural Earth. |
Blank background that plots your data with a latitude-longitude grid, ticks, and labels. |
All basemaps except 'darkwater'
require Internet access. The
'darkwater'
basemap is included with MATLAB.
If you do not have consistent access to the Internet, you can download the basemaps created using Natural Earth 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 for Geographic Axes and Charts.
The basemaps hosted by Esri update periodically. As a result, you might see differences in your visualizations over time.
Alignment of boundaries and region labels are a presentation of the feature provided by the data vendors and do not imply endorsement by MathWorks®.
Data Types: char
| string
LatitudeLimits
— Latitude limits of map
two-element vector
This property is read-only.
Latitude limits of the map, returned as a two-element vector of the form
[latmin latmax]
. Each element is in the range [–90,
90] degrees.
Change the latitude limits by using the geolimits
function.
The latitude limits do not change when you resize the axes by resizing the figure window, except to adapt to changes in the aspect ratio of the map.
Example: [-85 85]
LongitudeLimits
— Longitude limits of map
two-element vector
This property is read-only.
Longitude limits of map, returned as a two-element vector of the form
[lonmin lonmax]
.
Change the longitude limits by using the geolimits
function.
The longitude limits do not change when you resize the axes by resizing the figure window, except to adapt to changes in the aspect ratio of the map.
Example: [-100 100]
MapCenter
— Center point of map in latitude and longitude
two-element numeric vector of real, finite values
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]
MapCenterMode
— Selection mode for map center
'auto'
(default) | 'manual'
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 forMapCenter
, the object sets this property to'manual'
automatically.
Example: gx.MapCenterMode = 'auto'
ZoomLevel
— Magnification level of map
real, finite, numeric scalar between 0 and 25, inclusive
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.
ZoomLevelMode
— Selection mode for zoom level
'auto'
(default) | 'manual'
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 forZoomLevel
, the object sets this property to'manual'
automatically.
Example: gx.ZoomLevelMode = 'manual'
Scalebar
— Scale bar
GeographicScalebar
object
This property is read-only.
Scale bar, returned as a GeographicScalebar
object. The
scale bar shows proportional distances on the map.
Change the appearance and behavior of the scale bar by setting properties
of the GeographicScalebar
object. For example, this code
shows how to hide the scale
bar.
geoplot(1:10,1:10)
gx = gca;
gx.Scalebar.Visible = "off";
For more information about the properties of
GeographicScalebar
objects, see GeographicScalebar Properties.
Font
FontName
— Font name
supported font name | "FixedWidth"
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.
FontSize
— Font size
numeric scalar
Font size, specified as a numeric scalar. The font size affects the title, tick labels, and
scale bar, as well as any legends or color bars associated with the axes. The default
font size depends on the specific operating system and locale. By default, the axes
object measures the font size 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 title scaling, use the
TitleFontSizeMultiplier
andLabelFontSizeMultiplier
properties.Legends and color bars — 90% of the axes font size by default. To specify a different font size, set the
FontSize
property for theLegend
orColorBar
object instead.Scale bar — 80% of the axes font size by default. To specify a different font size, set the
FontSize
property for theGeographicScalebar
object instead.
FontSizeMode
— Selection mode for font size
'auto'
(default) | 'manual'
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 theFontSize
property.
FontWeight
— Character thickness
'normal'
(default) | 'bold'
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.
FontAngle
— Character slant
'normal'
(default) | 'italic'
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.
LabelFontSizeMultiplier
— Scale factor for label font size
1.1
(default) | numeric value greater than 0
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
TitleFontSizeMultiplier
— Scale factor for title font size
1.1
(default) | numeric value greater than 0
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.
TitleFontWeight
— Title character thickness
'bold'
(default) | 'normal'
Title character thickness, specified as one of these values:
'normal'
— Default weight as defined by the particular font'bold'
— Thicker characters than normal
SubtitleFontWeight
— Subtitle character thickness
'normal'
(default) | 'bold'
Subtitle character thickness, specified as one of these values:
'normal'
— Default weight as defined by the particular font'bold'
— Thicker characters than normal
FontUnits
— Font size units
'points'
(default) | 'inches'
| 'centimeters'
| 'normalized'
| 'pixels'
Font size units, specified as one of these values.
Units | Description |
---|---|
'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.
|
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
TickDir
— Tick mark direction
'in'
(default) | 'out'
| 'both'
| 'none'
Tick mark direction, specified as one of these values:
'in'
— Direct the tick marks inward from the axis lines. (Default for 2-D views)'out'
— Direct the tick marks outward from the axis lines. (Default for 3-D views)'both'
— Center the tick marks over the axis lines.'none'
— Do not display any tick marks.
TickDirMode
— Selection mode for tick mark direction
'manual'
(default) | 'auto'
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 theTickDir
property.
Example: gx.TickDirMode = 'auto';
TickLength
— Tick mark length
[0.01 0.025]
(default) | two-element vector
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];
TickLabelFormat
— Tick label format
"dms"
(default) | "dd"
| "dm"
| "-dd"
| "-dm"
| "-dms"
Tick label format, specified as one of these options:
Format | Description | Example |
---|---|---|
"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 tick label format includes
degrees, minutes, and seconds. However, the axes displays minutes and seconds only when
the ZoomLevel
property is greater than or equal to
14
.
Rulers
LatitudeAxis
— Latitude ruler
GeographicRuler
object
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.
This image shows the latitude axis line in red.
Example: latruler = gx.LatitudeAxis;
Example: gx.LatitudeAxis.TickLabelRotation =
45;
LongitudeAxis
— Longitude ruler
GeographicRuler
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.
This image shows the longitude axis line in red.
Example: lonruler = gx.LongitudeAxis;
Example: gx.LongitudeAxis.TickDirection =
'out';
AxisColor
— Color of axis lines, tick values, and labels
[0.1500 0.1500 0.1500]
(default) | RGB triplet | hexadecimal color code | color name | short color name
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 string scalar or character vector that starts with a hash symbol (
#
) followed by three or six hexadecimal digits, which can range from0
toF
. The values are not case sensitive. Therefore, 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 Name | Short Name | RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|---|---|
"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 applicable | Not applicable | Not applicable | No color |
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.
RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|
[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
Grid
— Visibility of grid lines
'on'
(default) | on/off logical value
Visibility of the grid lines, specified as 'on'
or
'off'
, or as numeric or logical 1
(true
) or 0
(false
). A value of 'on'
is
equivalent to true
, and 'off'
is
equivalent to false
. Thus, you can use the value of this
property as a logical value. The value is stored as an on/off logical value
of type matlab.lang.OnOffSwitchState
.
'on'
– Show grid lines.'off'
– Do not show grid lines.
Example: gx.Grid = 'off';
GridLineStyle
— Line style for grid lines
'-'
(default) | '--'
| ':'
| '-.'
| 'none'
Line style for grid lines, specified as one of the line styles in this table.
Line Style | Description | Resulting Line |
---|---|---|
'-' | Solid line |
|
'--' | Dashed line |
|
':' | Dotted line |
|
'-.' | Dash-dotted line |
|
'none' | No line | No line |
To display the grid lines, use the grid
on
command or set the Grid
property to
'on'
.
Example: gx.GridLineStyle = '--'
GridColor
— Color of grid lines
[0.15 0.15 0.15]
(default) | RGB triplet | hexadecimal color code | 'r'
| 'g'
| 'b'
| ...
Color of grid lines, 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 string scalar or character vector that starts with a hash symbol (
#
) followed by three or six hexadecimal digits, which can range from0
toF
. The values are not case sensitive. Therefore, 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 Name | Short Name | RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|---|---|
"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 applicable | Not applicable | Not applicable | No color |
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.
RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|
[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" |
For example, create a geographic axis object with red grid lines. Set the
GridAlpha
property to 0.5 to increase
visibility.
gx = geoaxes;
gx.GridColor = 'r';
gx.GridAlpha = 0.5;
Example: gx.GridColor = [0 0 1];
Example: gx.GridColor = 'b';
Example: gx.GridColor = 'blue';
Example: gx.GridColor = '#0000FF';
GridColorMode
— Property for setting grid color
'auto'
(default) | 'manual'
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, useGridColor
.
GridAlpha
— Grid-line transparency
0.15
(default) | value in the range [0,1]
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
GridAlphaMode
— Selection mode for GridAlpha
'auto'
(default) | 'manual'
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 theGridAlpha
property.
Example: gx.GridAlphaMode = 'auto'
Labels
Title
— Text object for title
text object
Text object for the axes title. To add a title, set the String
property of the text object. To change the title appearance, such as the font style or color, set other properties. For a complete list, see Text Properties.
ax = gca; ax.Title.String = 'My Title'; ax.Title.FontWeight = 'normal';
Alternatively, use the title
function to add a title and control the appearance.
title('My Title','FontWeight','normal')
Note
This text object is not contained in the axes Children
property, cannot be returned by findobj
, and does not use default values defined for text objects.
Subtitle
— Text object for subtitle
text object
Text object for the axes subtitle. To add a subtitle, set the String
property of the text object. To change its appearance, such as the font angle, set other
properties. For a complete list, see Text Properties.
ax = gca; ax.Subtitle.String = 'An Insightful Subtitle'; ax.Subtitle.FontAngle = 'italic';
Alternatively, use the subtitle
function to add a subtitle and control the
appearance.
subtitle('An Insightful Subtitle','FontAngle','italic')
Or use the title
function, and specify two
character vector input arguments and two output arguments. Then set properties on the
second text object returned by the
function.
[t,s] = title('Clever Title','An Insightful Subtitle'); s.FontAngle = 'italic';
Note
This text object is not contained in the axes Children
property, cannot be returned by findobj
, and does not use default values defined for text objects.
TitleHorizontalAlignment
— Title and subtitle horizontal alignment
'center'
(default) | 'left'
| 'right'
Title and subtitle horizontal alignment with the plot box, specified as one of the values from the table.
TitleHorizontalAlignment Value | Description | Appearance |
---|---|---|
'center' | The title and subtitle are centered over the plot box. |
|
'left' | The title and subtitle are aligned with the left side of the plot box. |
|
'right' | The title and subtitle are aligned with the right side of the plot box. |
|
LatitudeLabel
— Latitude axis label
Text
object
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'
LongitudeLabel
— Longitude axis label
Text
object
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'
Legend
— Legend associated with geographic axes
empty GraphicsPlaceholder
(default) | Legend
object
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
ColorOrder
— Color order
seven predefined colors (default) | three-column matrix of RGB triplets
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.
This table lists the default colors.
RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|
[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" |
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
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 thehold
function to set the axes hold state to'on'
, and then call the desired plotting functions. This is like calling thecolororder
function, but in this case you are setting the color order for the specific axes, not the entire figure. Setting thehold
state to'on'
is necessary to ensure that subsequent plotting commands do not reset the axes to use the default color order.
LineStyleOrder
— Line style order
"-"
solid line (default) | character vector | cell array of character vectors | string array
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. By default,
it changes to the next line style only after cycling through all the colors in the
ColorOrder
property with
the current line style. Set the LineStyleCyclingMethod
property to "withcolor"
to cycle through both together or to
"beforecolor"
to cycle through the line styles first. 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 Style | Description | Resulting Line |
---|---|---|
"-" | Solid line |
|
"--" | Dashed line |
|
":" | Dotted line |
|
"-." | Dash-dotted line |
|
Marker | Description | Resulting Marker |
---|---|---|
"o" | Circle |
|
"+" | Plus sign |
|
"*" | Asterisk |
|
"." | Point |
|
"x" | Cross |
|
"_" | Horizontal line |
|
"|" | Vertical line |
|
"square" | Square |
|
"diamond" | Diamond |
|
"^" | Upward-pointing triangle |
|
"v" | Downward-pointing triangle |
|
">" | Right-pointing triangle |
|
"<" | Left-pointing triangle |
|
"pentagram" | Pentagram |
|
"hexagram" | Hexagram |
|
Changing Line Style Order Before or After Plotting
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.
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. For more
information, see Changing ColorOrder or LineStyleOrder affects existing plots immediately and
Indexing scheme for ColorOrder and LineStyleOrder might change plot colors and line styles.
LineStyleCyclingMethod
— How to cycle through line styles
"aftercolor"
(default) | "beforecolor"
| "withcolor"
Since R2023a
How to cycle through the line styles when there are multiple lines in the axes, specified as one of the values from this table.
The examples in this table were created using the default colors in the
ColorOrder
property and three line styles
(["-","-o","--"]
) in the LineStyleOrder
property.
Value | Description | Example |
---|---|---|
| Cycle through the line styles of the |
|
"beforecolor" | Cycle through the line styles of the
|
|
"withcolor" | Cycle through the line styles of the
|
|
NextSeriesIndex
— SeriesIndex
value for next object
whole number
This property is read-only.
SeriesIndex
value for the next plot object added to the axes,
returned as a whole number greater than or equal to 0
. This property
is useful when you want to track how the objects cycle through the colors and line
styles. This property maintains a count of the objects in the axes that have a numeric
SeriesIndex
property value. MATLAB uses it to assign a SeriesIndex
value to each new
object. The count starts at 1
when you create the axes, and it
increases by 1
for each additional object. Thus, the count is
typically n+1, where n is the number of objects in
the axes.
If you manually change the ColorOrderIndex
or
LineStyleOrderIndex
property on the axes, the value of the
NextSeriesIndex
property changes to 0
. As a
consequence, objects that have a SeriesIndex
property no longer
update automatically when you change the ColorOrder
or
LineStyleOrder
properties on the axes.
NextPlot
— Properties to reset
'replace'
(default) | 'add'
| 'replacechildren'
| 'replaceall'
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 theColorOrderIndex
andLineStyleOrderIndex
properties to1
, but do not reset other axes properties. The next plot added to the axes uses the first color and line style based on theColorOrder
andLineStyle
order properties. This value is similar to usingcla
before every new plot.'replace'
— Delete existing plots and reset axes properties, exceptPosition
,Units
, andBasemap
, to their default values before displaying the new plot.'replaceall'
— Delete existing plots and reset axes properties, exceptPosition
andUnits
, to their default values before displaying the new plot. This value is similar to usingcla 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.
SortMethod
— Order for rendering objects
'depth'
| 'childorder'
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.
ColorOrderIndex
— Color order index
1
(default) | positive integer
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.
Note
Setting the SeriesIndex
property of individual plot objects
is recommended over setting the ColorOrderIndex
property of the
axes. The behavior of the ColorOrderIndex
property changed in
R2019b. For more information, see Indexing scheme for ColorOrder and LineStyleOrder might change plot colors and line styles.
LineStyleOrderIndex
— Line style order index
1
(default) | positive integer
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.
Note
Setting the SeriesIndex
property of individual plot objects
is recommended over setting the LineStyleOrderIndex
property of
the axes. The behavior of the LineStyleOrderIndex
property
changed in R2019b. For more information, see Indexing scheme for ColorOrder and LineStyleOrder might change plot colors and line styles.
Color and Transparency Maps
Colormap
— Color map
parula (default) | m
-by-3
array of RGB triplets
Color map, specified as an m
-by-3
array of RGB (red, green, blue) triplets that define m
individual colors.
Example: ax.Colormap = [1 0 1; 0 0 1; 1 1 0]
sets the color map to three colors: magenta, blue, and yellow.
MATLAB accesses these colors by their row number.
Alternatively, use the colormap
function to change the color map.
ColorScale
— Scale for color mapping
'linear'
(default) | 'log'
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.
CLim
— Color limits for colormap
[0 1]
(default) | two-element vector of the form [cmin cmax]
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.
CLimMode
— Selection mode for CLim
'auto'
(default) | 'manual'
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 theCLim
property. The values do not change when the limits of the axes children change.
Alphamap
— Transparency map
array of 64 values from 0
to 1
(default) | array of finite alpha values from 0
to 1
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.
AlphaScale
— Scale for transparency mapping
'linear'
(default) | 'log'
Scale for transparency mapping, specified as one of these values:
'linear'
— Linear scale'log'
— Log scale
ALim
— Alpha limits for alphamap
[0 1]
(default) | two-element vector of the form [amin amax]
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.
ALimMode
— Selection mode for ALim
'auto'
(default) | 'manual'
Selection mode for the ALim
property, specified
as one of these values:
'auto'
— Automatically select the limits based on theAlphaData
values of the graphics objects contained in the axes.'manual'
— Manually specify the alpha limits. To specify the alpha limits, set theALim
property.
Box Styling
Color
— Background color
[1 1 1]
(default) | RGB triplet | hexadecimal color code | 'r'
| 'g'
| 'b'
| ...
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 string scalar or character vector that starts with a hash symbol (
#
) followed by three or six hexadecimal digits, which can range from0
toF
. The values are not case sensitive. Therefore, 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 Name | Short Name | RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|---|---|
"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 applicable | Not applicable | Not applicable | No color |
Here are the RGB triplets and hexadecimal color codes for the default colors MATLAB uses in many types of plots.
RGB Triplet | Hexadecimal Color Code | Appearance |
---|---|---|
[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';
LineWidth
— Width of lines
0.5
(default) | positive scalar value
Width of lines, specified as a positive scalar value in point units. One point equals 1/72 inch.
Example: gx.LineWidth = 1.5
Box
— Outline around geographic axes
'on'
(default) | on/off logical value
Outline around the geographic axes, specified as 'on'
or 'off'
, or as numeric or logical 1
(true
) or 0
(false
). A value of 'on'
is
equivalent to true
, and 'off'
is
equivalent to false
. Thus, you can use the value of this
property as a logical value. The value is stored as an on/off logical value
of type matlab.lang.OnOffSwitchState
.
This image shows a geographic axes object with the
Box
property set to 'off'
. Note
there is no outline along the top or right border of the axes.
Example: gx.Box = 'off'
Position
OuterPosition
— Size and location, including labels and margin
[0 0 1 1]
(default) | four-element vector
Size and location, including the labels and a margin, specified as a four-element
vector of the form [left bottom width height]
. By default,
MATLAB measures the values 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.
The
left
andbottom
elements define the distance from the lower-left corner of the container (typically a figure, panel, or tab) to the lower-left corner of the outer position boundary.The
width
andheight
elements are the outer position boundary dimensions.
This figure shows the areas defined by the OuterPosition
values
(blue) and the Position
values (red).
Note
Setting this property has no effect when the parent container is a
TiledChartLayout
object.
InnerPosition
— Inner size and location
[0.1300 0.1100 0.7750 0.8150]
(default) | four-element vector
Inner size and location, specified as a four-element vector of the form
[left bottom width height]
. This property is
equivalent to the Position
property.
Note
Setting this property has no effect when the parent container is a
TiledChartLayout
object.
Position
— Size and location, excluding margin for labels
[0.1300 0.1100 0.7750 0.8150]
(default) | four-element vector
Size and location, excluding a margin for the labels, specified as a four-element
vector of the form [left bottom width height]
. By default,
MATLAB measures the values in units normalized to the container. To change the
units, set the Units
property.
The
left
andbottom
elements define the distance from the lower-left corner of the container (typically a figure, panel, or tab) to the lower-left corner of the position boundary.The
width
andheight
elements are the position boundary dimensions.
If you want to specify the position and account for the text around the axes, then set
the OuterPosition
property instead. This figure shows the areas
defined by the OuterPosition
values (blue) and the
Position
values (red).
Note
Setting this property has no effect when the parent container is a
TiledChartLayout
object.
TightInset
— Margins for text labels
four-element vector of the form [left bottom right top]
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.
PositionConstraint
— Position to hold constant
"outerposition"
| "innerposition"
Position property to hold constant when adding, removing, or changing decorations, specified as one of the following values:
"outerposition"
— TheOuterPosition
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 theInnerPosition
property."innerposition"
— TheInnerPosition
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 theOuterPosition
property.
Note
Setting this property has no effect when the parent container is a
TiledChartLayout
object.
Units
— Position units
"normalized"
(default) | "inches"
| "centimeters"
| "points"
| "pixels"
| "characters"
Position units, specified as one of these values.
Units | Description |
---|---|
"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
|
"points" | Typography points. One point equals 1/72 of an inch. |
"pixels" | Pixels. Starting in R2015b, distances in pixels are independent of your system resolution on Windows and Macintosh systems.
|
When specifying the units using a name-value argument during object creation, you must
set the Units
property before specifying the properties that you
want to use these units, such as Position
.
Layout
— Layout options
empty LayoutOptions
array (default) | TiledChartLayoutOptions
object | GridLayoutOptions
object
Layout options, specified as a TiledChartLayoutOptions
or a
GridLayoutOptions
object. This property is useful when the axes
object is either in a tiled chart layout or a grid layout.
To position the axes within the grid of a tiled chart layout, set the
Tile
and TileSpan
properties on the
TiledChartLayoutOptions
object. For example, consider a 3-by-3
tiled chart layout. The layout has a grid of tiles in the center, and four tiles along
the outer edges. In practice, the grid is invisible and the outer tiles do not take up
space until you populate them with axes or charts.
This code places the axes ax
in the third tile of the
grid.
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];
To place the axes in one of the surrounding tiles, specify the
Tile
property as 'north'
,
'south'
, 'east'
, or 'west'
.
For example, setting the value to 'east'
places the axes in the tile
to the right of the
grid.
ax.Layout.Tile = 'east';
To place the axes into a layout within an app, specify this property as a
GridLayoutOptions
object. For more information about working with
grid layouts in apps, see uigridlayout
.
If the axes is not a child of either a tiled chart layout or a grid layout (for example, if it is a child of a figure or panel) then this property is empty and has no effect.
Interactivity
InteractionOptions
— Options to customize interaction behavior
GeographicAxesInteractionOptions
object
Since R2024a
Options to customize interaction behavior, specified as a
GeographicAxesInteractionOptions
object. Use the
properties of the GeographicAxesInteractionOptions
object
to customize the behavior of interactions with the geographic axes. For a
complete list of properties, see GeographicAxesInteractionOptions Properties.
The options set by the GeographicAxesInteractionOptions
object apply to these interactions on the associated geographic axes:
The built-in interactions specified by the
Interactions
property of the geographic axesInteractions enabled using the geographic axes toolbar
Example: gx.InteractionOptions.ZoomSupported = "off"
disables the zoom interaction.
Toolbar
— Data exploration toolbar
AxesToolbar
object
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'
Interactions
— Interactions
array of interaction objects | []
Interactions, specified as an array of PanInteraction
, ZoomInteraction
, or DataTipInteraction
objects or as an empty array. The
interactions you specify are available within your chart through gestures.
You do not have to select any axes toolbar buttons to use them. For example,
a PanInteraction
object enables dragging to pan within a
chart. For a list of interaction objects, see Control Chart Interactivity.
By default, charts within geographic axes have pan, zoom, and data tip
interactions. You can replace the default set with a new set of
interactions, but you cannot access or modify any of the interactions in the
default set. For example, this code replaces the default set of interactions
with the PanInteraction
and
ZoomInteraction
objects.
gx = gca; gx.Interactions = [panInteraction zoomInteraction];
To disable the current set of interactions, call the disableDefaultInteractivity
function. You can reenable them
by calling the enableDefaultInteractivity
function. To remove all mouse
interactions from the axes, set this property to an empty array.
Visible
— State of visibility
'on'
(default) | on/off logical value
State of visibility, specified as 'on'
or 'off'
, or as numeric or logical 1
(true
) or 0
(false
). A value of 'on'
is equivalent to true
, and 'off'
is equivalent to false
. Thus, you can use the value of this property as a logical value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
'on'
— Display the axes and its children.'off'
— Hide the axes without deleting it. You still can access the properties of an invisible axes object.
Note
When the Visible
property is 'off'
, the axes
object is invisible, but child objects such as lines remain visible.
CurrentPoint
— Location of mouse pointer
2-by-3 array
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]
ContextMenu
— Context menu
empty GraphicsPlaceholder
array (default) | ContextMenu
object
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.
Selected
— Selection state
'off'
(default) | on/off logical value
Selection state, specified as 'on'
or 'off'
, or as
numeric or logical 1
(true
) or
0
(false
). A value of 'on'
is equivalent to true, and 'off'
is equivalent to
false
. Thus, you can use the value of this property as a logical
value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
'on'
— Selected. If you click the object when in plot edit mode, then MATLAB sets itsSelected
property to'on'
. If theSelectionHighlight
property also is set to'on'
, then MATLAB displays selection handles around the object.'off'
— Not selected.
SelectionHighlight
— Display of selection handles
'on'
(default) | on/off logical value
Display of selection handles when selected, specified as 'on'
or
'off'
, or as numeric or logical 1
(true
) or 0
(false
). A
value of 'on'
is equivalent to true, and 'off'
is
equivalent to false
. Thus, you can use the value of this property as
a logical value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
'on'
— Display selection handles when theSelected
property is set to'on'
.'off'
— Never display selection handles, even when theSelected
property is set to'on'
.
Callbacks
ButtonDownFcn
— Mouse-click callback
''
(default) | function handle | cell array | character vector
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 Create Callbacks for Graphics Objects.
Note
If the PickableParts
property is set to 'none'
or
if the HitTest
property is set to 'off'
,
then this callback does not execute.
CreateFcn
— Creation function
''
(default) | function handle | cell array | character vector
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 Create Callbacks for Graphics Objects.
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.
DeleteFcn
— Deletion function
''
(default) | function handle | cell array | character vector
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 Create Callbacks for Graphics Objects.
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
Interruptible
— Callback interruption
'on'
(default) | on/off logical value
Callback interruption, specified as 'on'
or 'off'
, or as
numeric or logical 1
(true
) or
0
(false
). A value of 'on'
is equivalent to true
, and 'off'
is equivalent to
false
. Thus, you can use the value of this property as a logical
value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
This 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.
MATLAB determines callback interruption behavior whenever it executes a command that
processes the callback queue. These commands include drawnow
, figure
, uifigure
, getframe
, waitfor
, and pause
.
If the running callback does not contain one of these commands, then no interruption occurs. MATLAB first finishes executing the running callback, and later executes the interrupting callback.
If the running callback does contain one of these commands, then the
Interruptible
property of the object that owns the running
callback determines if the interruption occurs:
If the value of
Interruptible
is'off'
, then no interruption occurs. Instead, theBusyAction
property of the object that owns the interrupting callback determines if the interrupting callback is discarded or added to the callback queue.If the value of
Interruptible
is'on'
, then the interruption occurs. The next time MATLAB processes the callback queue, it stops the execution of the running callback and executes the interrupting callback. After the interrupting callback completes, MATLAB then resumes executing the running callback.
Note
Callback interruption and execution behave differently in these situations:
If the interrupting callback is a
DeleteFcn
,CloseRequestFcn
, orSizeChangedFcn
callback, then the interruption occurs regardless of theInterruptible
property value.If the running callback is currently executing the
waitfor
function, then the interruption occurs regardless of theInterruptible
property value.If the interrupting callback is owned by a
Timer
object, then the callback executes according to schedule regardless of theInterruptible
property value.
BusyAction
— Callback queuing
'queue'
(default) | 'cancel'
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.
The BusyAction
property determines callback queuing behavior only
when both of these conditions are met:
Under these conditions, the BusyAction
property of the
object that owns the interrupting callback determines how MATLAB handles the interrupting callback. 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.
PickableParts
— Ability to capture mouse clicks
'visible'
(default) | 'all'
| 'none'
Ability to capture mouse clicks, specified as one of these values:
'visible'
— Capture mouse clicks only when visible. TheVisible
property must be set to'on'
. TheHitTest
property determines if theGeographicAxes
object responds to the click or if an ancestor does.'all'
— Capture mouse clicks regardless of visibility. TheVisible
property can be set to'on'
or'off'
. TheHitTest
property determines if theGeographicAxes
object responds to the click or if an ancestor does.'none'
— Cannot capture mouse clicks. Clicking theGeographicAxes
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. TheHitTest
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.
HitTest
— Response to captured mouse clicks
'on'
(default) | on/off logical value
Response to captured mouse clicks, specified as 'on'
or
'off'
, or as numeric or logical 1
(true
) or 0
(false
). A
value of 'on'
is equivalent to true, and 'off'
is
equivalent to false
. Thus, you can use the value of this property as
a logical value. The value is stored as an on/off logical value of type matlab.lang.OnOffSwitchState
.
'on'
— Trigger theButtonDownFcn
callback of theGeographicAxes
object. If you have defined theContextMenu
property, then invoke the context menu.'off'
— Trigger the callbacks for the nearest ancestor of theGeographicAxes
object that meets one of these conditions:HitTest
property is set to'on'
.PickableParts
property is 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.
BeingDeleted
— Deletion status
on/off logical value
This property is read-only.
Deletion status, returned as an on/off logical value of type matlab.lang.OnOffSwitchState
.
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
Parent
— Parent container
Figure
object | Panel
object | Tab
object | TiledChartLayout
object | GridLayout
object
Parent container, specified as a Figure
,
Panel
, Tab
,
TiledChartLayout
, or GridLayout
object.
Children
— Children
empty GraphicsPlaceholder
array | array of graphics objects
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.
HandleVisibility
— Visibility of object handle
"on"
(default) | "off"
| "callback"
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. SetHandleVisibility
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
Type
— Type of graphics object
'geoaxes'
(default)
This property is read-only.
Type of graphics object, returned as 'geoaxes'
.
Tag
— Object identifier
''
(default) | character vector | string scalar
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.
UserData
— User data
[]
(default) | array
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.
Version History
Introduced in R2018bR2024a: Customize behavior of interactions using the
InteractionOptions
property
For geoaxes
objects created in App Designer or in
figures created using the uifigure
function, you can customize
the behavior of axes interactions. Customize the behavior of data tips, panning, and
zooming, as well as how to restore views, by using the
InteractionOptions
property.
R2023b: Some basemaps have improved appearance at high zoom levels
The "streets-light"
, "streets-dark"
, "streets"
, and "topographic"
basemaps hosted by Esri have an improved visual appearance at high zoom levels. For example, this image compares a basemap at zoom level 21 in R2023a with the same basemap and zoom level in R2023b.
The basemaps can also have different appearances at other zoom levels. For example, this image compares a basemap at zoom level 15 in R2023a with the same basemap and zoom level in R2023b.
R2022b: When NextPlot
is 'replace'
, adding new
plots to geographic axes does not reset basemap
When the value of the NextPlot
property is
'replace'
, adding new plots does not reset the
Basemap
property. As a result, when you plot into
geographic axes by using functions such as geoplot
and geoscatter
, MATLAB does not reset the basemap. In R2022a and earlier releases, the
basemap resets when you add new plots.
As a result, you can specify a basemap and then visualize data without using the
hold
function between commands. For example, this code
creates a map using the streets
basemap. Then it displays a plot
over the basemap. In R2022b, the basemap does not reset. In R2022a and earlier
releases, the basemap resets to the default streets-light
.
lat = [35 -22 51 39 37 42 47 -33]; lon = [139 -43 0 116 23 -71 -122 18]; figure geobasemap streets geoplot(lat,lon,"m*")
This change does not affect existing code that sets the hold
state to "on"
between commands.
To reset the basemap when you add a new plot, use the cla reset
syntax of the cla
function before you create the
plot. For example, to update the preceding code, use cla reset
between the calls to geobasemap
and
geoplot
.
lat = [35 -22 51 39 37 42 47 -33]; lon = [139 -43 0 116 23 -71 -122 18]; figure geobasemap streets cla reset geoplot(lat,lon,"m*")
Alternatively, you can change the basemap to the default
streets-light
by using the geobasemap
function. For more information about changing the basemap
of geographic axes, see Access Basemaps for Geographic Axes and Charts.
R2020a: ActivePositionProperty
is not recommended
Setting or getting ActivePositionProperty
is not recommended. Use the
PositionConstraint
property instead.
There are no plans to remove ActivePositionProperty
, but the property
is no longer listed when you call the set
, get
, or
properties
functions on the axes.
To update your code, make these changes:
Replace all instances of
ActivePositionProperty
withPositionConstraint
.Replace all references to the
'position'
option with the'innerposition'
option.
R2020a: UIContextMenu
property is not recommended
Starting in R2020a, using the UIContextMenu
property to
assign a context menu to a graphics object or UI component is not recommended. Use
the ContextMenu
property instead. The property values are the
same.
There are no plans to remove support for the UIContextMenu
property at this time. However, the UIContextMenu
property no
longer appears in the list returned by calling the get
function
on a graphics object or UI component.
R2019b: Changing ColorOrder
or LineStyleOrder
affects existing plots immediately
If you change the axes ColorOrder
or
LineStyleOrder
properties after plotting into the axes, the colors
and line styles in your plot update immediately. In R2019a and previous releases, the new
colors and line styles affect only subsequent plots, not the existing plots.
To preserve the original behavior, set the axes ColorOrderIndex
or
LineStyleOrderIndex
property to any value (such as its current
value) before changing the ColorOrder
or
LineStyleOrder
property.
R2019b: Indexing scheme for ColorOrder
and LineStyleOrder
might change plot colors and line styles
There is a new indexing scheme that enables you to change the colors and line styles of
existing plots by setting the ColorOrder
or
LineStyleOrder
properties. MATLAB applies this indexing scheme to all objects that have a
ColorMode
, FaceColorMode
,
MarkerFaceColorMode
, or CDataMode
. As a
result, your code might produce plots that cycle though the colors and line styles
differently than in previous releases.
In R2019a and earlier releases, MATLAB uses a different indexing scheme which does not allow you to change the colors of existing plots.
To preserve the way your plots cycle through colors and line styles, set the axes
ColorOrderIndex
or LineStyleOrderIndex
property to any value (such as its current value) before plotting into the axes.
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)
Asia Pacific
- Australia (English)
- India (English)
- New Zealand (English)
- 中国
- 日本Japanese (日本語)
- 한국Korean (한국어)