本页对应的英文页面已更新,但尚未翻译。 若要查看最新内容,请点击此处访问英文页面。

GeographicAxes 属性

控制地理坐标区的外观和行为

GeographicAxes 属性可控制 GeographicAxes 对象的外观和行为。通过更改属性值,您可以修改地理坐标区的特定方面。在绘图后再设置坐标区属性,因为某些图形函数会重置坐标区属性。

一些图形函数会在绘图时创建地理坐标区。使用 gca 访问新创建的坐标区。要使用所有属性的默认值创建地理坐标区,请使用 geoaxes 函数。

gx = geoaxes;

地图

全部展开

要在其上绘制数据的地图,指定为下表中列出的值之一。其中六幅底图是图块数据集,由 MathWorks® 从公共域数据中派生而来。其中五个底图是由 Esri® 托管的高缩放级别地图。

MATLAB® 包括一个已安装的底图,一个名为 'darkwater' 的双色地图。使用此底图不需要访问 Internet。使用其他底图,包括默认底图 'streets-light',确实需要访问 Internet。

如果您不能随时访问 Internet,可使用附加功能资源管理器将由 MathWorks 托管的底图下载到您的本地系统上。这五个高缩放级别的地图无法下载。有关下载底图和更改本地系统上默认底图的详细信息,请参阅在 MATLAB 中访问底图

由 Esri 托管的五个底图标注了地图数据提供者。当您放大地图时,这些标注信息可能会发生变化,因为不同组织为不同位置提供不同缩放级别的地图数据。边界和区域标签的对齐是我们的数据供应商提供的功能的展示,并不意味着 MathWorks 对此做出背书。

'streets-light'

旨在提供地理上下文同时在浅色背景上突出显示用户数据的地图。

由 Esri 托管。

'satellite'

由高分辨率卫星图像组成的完整全球底图。

由 Esri 托管。

'streets-dark'

旨在提供地理上下文同时在深色背景上突出显示用户数据的地图。

由 Esri 托管。

'topographic'

具有用于描绘地形特征的样式的通用地图。

由 Esri 托管。

'streets'

通用公路图,强调公路和交通网络的准确、清晰样式。

由 Esri 托管。

'landcover'

结合卫星衍生的地表数据、着色地势和海底地势的地图。明亮、自然的调色板适用于主题地图和参考地图。

由 MathWorks 提供。

'grayterrain'

灰色地形图。着色地势强调高山和洼地的微地形。

由 MathWorks 提供。

'colorterrain'

叠加了地表配色的着色地势图。潮湿的低地为绿色,干旱的低地为棕色。

由 MathWorks 提供。

'grayland'

具有灰色陆地区域和白色水域的双色陆地海洋地图。

由 MathWorks 提供。

'bluegreen'

具有浅绿色陆地区域和浅蓝色水域的双色陆地海洋地图。

由 MathWorks 提供。

'darkwater'

具有浅灰色陆地区域和深灰色水域的双色陆地海洋地图。此底图随 MATLAB 一起安装。

由 MathWorks 提供。

 

'none'

空白背景,用经纬度网格、刻度和标签绘制数据。

示例: gx = geoaxes('Basemap','bluegreen')

示例: gx.Basemap = 'bluegreen'

数据类型: char | string

此属性为只读

地图的纬度范围,指定为 [southern_limit northern_limit] 形式的、位于 [-90,90] 范围内的 1×2 有限实数值向量。使用 geolimits 函数更改纬度范围。

示例: [-85 85]

此属性为只读

地图的经度范围,指定为 [western_limit eastern_limit] 形式的 1×2 有限实数值向量。值必须在 (-Inf, Inf) 范围内。使用 geolimits 函数更改经度范围。

示例: [-100 100]

以纬度和经度表示的地图中心点,指定为 [center_latitude center_longitude] 形式的二元素有限实数值向量。

示例: [38.6292 -95.2520]

地图中心的选择模式,指定为下列值之一:

  • 'auto' - 对象根据数据范围自动选择地图中心。

  • 'manual' - 如果您为 MapCenter 指定值,对象会自动将此属性设置为 'manual'

示例: gx.MapCenterMode = 'auto'

地图的放大级别,指定为从 0 到 25(包括 0 和 25)的有限实数数值标量。该值是以 2 为底的对数地图缩放比例。ZoomLevel 的值增加 1,地图缩放比例将翻倍。

缩放级别的选择模式,指定为下列值之一:

  • 'auto' - 对象根据数据范围选择缩放级别。

  • 'manual' - 如果您为 ZoomLevel 指定值,对象会自动将此属性设置为 'manual'

示例: gx.ZoomLevelMode = 'manual'

此属性为只读

用于显示地图上比例距离的比例尺,指定为 GeographicScalebar 对象。要修改比例尺的外观和行为,例如其可见性,请使用 GeographicScalebar 对象的属性。有关这些属性的详细信息,请参阅 GeographicScalebar 属性

示例: sbar = gx.Scalebar 返回 GeographicScalebar 对象。

示例: gx.Scalebar.Visible = 'off'; 设置 GeographicScalebar 属性的值。

字体

全部展开

字体名称,指定为支持的字体名称或 'FixedWidth'。要正确显示和打印文本,您必须选择系统支持的字体。默认字体取决于您的操作系统和区域设置。

要使用在任何区域设置中都有较好显示效果的等宽字体,请使用 'FixedWidth'。等宽字体依赖于根 FixedWidthFontName 属性。设置根 FixedWidthFontName 属性会导致立即更新显示方式以使用新字体。

字体大小,指定为数值标量。字体大小会影响与坐标区相关联的标题、刻度标签、图例、颜色栏和比例尺。默认字体大小取决于具体操作系统和区域设置。默认情况下,字体大小以磅为单位进行测量。要更改单位,请设置 FontUnits 属性。

MATLAB 会自动将某些文本缩放为坐标区字体大小的百分比。

  • 标题 - 默认情况下为坐标区字体大小的 110%。要控制缩放比例,请使用 TitleFontSizeMultiplierLabelFontSizeMultiplier 属性。

  • 图例和颜色栏 - 默认情况下为坐标区字体大小的 90%。要指定不同的字体大小,请设置 LegendColorBar 对象的 FontSize 属性。

  • 比例尺 - 默认情况下为坐标区字体大小的 80%。

示例: gx.FontSize = 12

字体大小的选择模式,指定为下列值之一:

  • 'auto' - 由 MATLAB 指定的字体大小。如果将坐标区的大小调整为小于默认大小,则字体大小可能会缩小以改善可读性和布局。

  • 'manual' - 手动指定的字体大小。不随坐标区大小改变而缩放字体大小。要指定字体大小,请设置 FontSize 属性。

字符粗细,指定为 'normal''bold'

MATLAB 使用 FontWeight 属性从系统提供的字体中选择一种字体。并非所有字体都有加粗字体。因此,指定加粗字体仍可能得到普通字体。

字符倾斜,指定为 'normal''italic'

并非所有字体都有两种字体样式。因此,斜体可能看上去和常规字体一样。

标签字体大小的缩放因子,指定为大于 0 的数值。此缩放因子应用于 FontSize 属性的值,以确定标签的字体大小。

示例: gx.LabelFontSizeMultiplier = 1.75

标题字体大小的缩放因子,指定为大于 0 的数值。此缩放因子应用于 FontSize 属性的值,以确定标题的字体大小。

示例: gx.TitleFontSizeMultiplier = 1.75

标题字符的粗细,指定为下列值之一:

  • 'bold' - 字符轮廓比普通粗

  • 'normal' - 特定字体定义的默认粗细

示例: gx.TitleFontWeight = 'normal'

字体大小单位,指定为下列值之一。

Units说明
'points'磅。一磅等于 1/72 英寸。
'inches'英寸。
'centimeters'厘米。
'normalized' 按坐标区高度的一定比例来解释字体大小。如果您调整坐标区的大小,则字体大小也会相应地修改。例如,如果 FontSize0.1(归一化单位),则文本为坐标区属性 Position 中存储的高度值的 1/10。
'pixels'

像素。

从 R2015b 开始,以像素为单位的距离不再依赖 Windows®Macintosh 系统上的系统分辨率。

  • 在 Windows 系统上,一个像素是 1/96 英寸。

  • Macintosh 系统上,一个像素是 1/72 英寸。

  • 在 Linux® 系统上,一个像素的大小由系统分辨率确定。

要在单个函数调用中设置字体大小和字体单位,首先必须设置 FontUnits 属性,以便 Axes 对象能够正确解释指定的字体大小。

刻度

全部展开

刻度线方向,指定为下列值之一:

说明示例
'in'刻度线从轴线指向内部。

'out'刻度线从轴线指向外部。

'both'刻度线以轴线为中心。

示例: gx.TickDir = 'out';

TickDir 属性设置的刻度线方向的选择模式,指定为下列值之一。

  • 'auto' - 根据当前视图自动选择刻度方向。

  • 'manual' - 手动指定刻度方向。要指定刻度方向,请设置 TickDir 属性。

示例: gx.TickDirMode = 'auto';

刻度线长度,指定为 [length unused] 形式的二元素向量。length 是刻度线长度。指定值时采用的是以坐标区最长维度为基准的归一化单位。GeographicRuler 对象使用一个二元素向量来与其他标尺对象中此属性的值保持一致,但不使用第二个元素。

注意

设置 TickLength 属性会自动将与 LatitudeAxisLongitudeAxis 属性相关联的 GeographicRuler 对象中的 TickLength 属性设置为相同的值。但是,在 GeographicRuler 对象中设置 TickLength 属性不会自动在坐标区对象中设置相同的属性。要防止轴属性值覆盖标尺属性值,请先设置轴属性值,然后设置标尺属性值。

示例: gx.TickLength = [0.02 0.0];

刻度标签格式,指定为下列值之一。

格式说明示例
'dd'十进制度加上指南针方向
23°N
'dm'度和十进制分加上指南针方向
18°30'W
'dms'(默认值)度、分、十进制秒加上指南针方向
110°06'18.5"E
'-dd'十进制度,用减号 (-) 表示南纬和西经
-115.25°
'-dm'度和十进制分,用减号 (-) 表示南纬和西经
-5°45.5'
'-dms'度、分和十进制秒,用减号 (-) 表示南纬和西经
-3°21'05"

默认标签格式包括度、分和秒。但是,刻度标签的分和秒部分不包括在内,除非您将地图放大到至少 14 倍的缩放级别。

示例: gx.TickLabelFormat = '-dm';

标尺

全部展开

纬度标尺,指定为 GeographicRuler 对象。使用 GeographicRuler 对象的属性来控制轴标尺的外观和行为。有关详细信息,请参阅GeographicRuler 属性

示例: latruler = gx.LatitudeAxis;

示例: gx.LatitudeAxis.TickLabelRotation = 45;

经度标尺,指定为 GeographicRuler 对象。使用 GeographicRuler 对象的属性来控制轴标尺的外观和行为。有关详细信息,请参阅GeographicRuler 属性

示例: lonruler = gx.LongitudeAxis;

示例: gx.LongitudeAxis.TickDirection = 'out';

轴线、刻度值和标签的颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短颜色名称。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'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'不适用不适用不适用无颜色

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[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'

注意

设置 AxisColor 属性会自动将 GeographicRulerGeographicScalebar 对象中的 Color 属性设置为相同的值。GeographicRuler 对象控制地理坐标区中标尺的行为和外观。GeographicScalebar 对象控制地理坐标区中的比例尺。但是,在 GeographicRulerGeographicScalebar 对象中设置 Color 属性不会自动在坐标区对象中设置 AxisColor 属性。要防止轴属性值覆盖标尺或比例尺属性值,请先设置轴属性值,然后设置标尺或比例尺属性值。

示例: gx.AxisColor = [0 0 1];

示例: gx.AxisColor = 'b';

示例: gx.AxisColor = 'blue';

示例: gx.AxisColor = '#0000FF';

网格

全部展开

地图上纬度线和经度线的可见性,指定为 'on'(显示网格线)或 'off'(不显示网格线)。

示例: gx.Grid = 'off';

网格线的线型,指定为下表中的线型之一。

线型说明表示的线条
'-'实线

'--'虚线

':'点线

'-.'点划线

'none'无线条无线条

要显示网格线,请使用 grid on 命令或将 Grid 属性设置为 'on'

示例: gx.GridLineStyle = '--'

背景颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短颜色名称。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'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'不适用不适用不适用无颜色

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[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'

示例: gx.GridColor = [0 0 1];

示例: gx.GridColor = 'b';

示例: gx.GridColor = 'blue';

示例: gx.GridColor = '#0000FF';

用于设置网格颜色的属性,指定为下列值之一:

  • 'auto' - 对象自动选择颜色。

  • 'manual' - 要设置所有方向的网格线颜色,请使用 GridColor

网格线透明度,指定为范围 [0,1] 中的值。值为 1 表示不透明,值为 0 表示完全透明。

示例: gx.GridAlpha = 0.5

GridAlpha 属性的选择模式,指定为下列值之一:

  • 'auto' - 对象选择透明度值。

  • 'manual' - 要指定透明度值,请使用 GridAlpha 属性。

示例: gx.GridAlphaMode = 'auto'

标签

全部展开

坐标区标题,指定为 Text 对象或 categorical 值。

如果您使用 Text 对象,请将标题指定为 Text 对象的 String 属性的值:gx.Title.String = 'My Geographic Plot'。要更改标题外观,如字体样式或颜色,请使用其他 Text 对象属性。有关完整的属性列表,请参阅 Text 属性

如果将此属性指定为分类数组,MATLAB 将使用数组中的值,而不是类别。

您也可以使用 title 函数来指定标题。

示例: gx.Title.String = 'My Geographic Plot'

纬度轴标签,指定为 Text 对象。要指定标签,请设置 Text 对象的 String 属性。要更改标签外观,例如字体样式或字体颜色,请设置其他 Text 对象属性。有关完整的属性列表,请参阅 Text 属性

示例: gx.LatitudeLabel.String = 'My Latitude'

经度轴标签,指定为 Text 对象。要指定标签,请设置 Text 对象的 String 属性。要更改标签外观,例如字体样式或字体颜色,请设置其他 Text 对象属性。有关完整的属性列表,请参阅 Text 属性

示例: gx.LongitudeLabel.String = 'My Longitude'

此属性为只读

与地理坐标区关联的图例,指定为 Legend 对象。要向地理坐标区中添加图例,请使用 legend 函数。然后,您可以使用此属性修改图例。有关完整的属性列表,请参阅 Legend 属性

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

还可以使用此属性确定地理坐标区是否包含图例。

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

多个绘图

全部展开

色序,指定为由 RGB 三元组组成的三列矩阵。此属性定义 MATLAB 创建绘图对象(例如 LineScatterBar 对象)时使用的颜色的调色板。数组的每一行都是一个 RGB 三元组。RGB 三元组是包含三个元素的向量,其元素分别指定颜色的红、绿、蓝分量的强度。强度必须在 [0, 1] 范围内。下表列出了默认颜色。

颜色ColorOrder 矩阵


    [    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 根据对象的创建顺序为对象分配颜色。例如,在绘制线条时,第一条线用第一种颜色,第二条线用第二种颜色,以此类推。如果线条比颜色多,则循环使用颜色。

在绘图之前或之后更改色序

从 R2019b 开始,您可以通过下列任一方式更改色序:

  • 调用 colororder 函数以更改图窗中所有坐标区的色序。图窗中现有绘图的颜色会立即更新。如果您在图窗中放入其他坐标区,则这些坐标区也会使用新的色序。如果您继续调用绘图命令,这些命令会使用新的颜色。

  • 对坐标区设置 ColorOrder 属性,调用 hold 函数以将坐标区保留状态设置为 'on',然后调用所需的绘图函数。这类似于调用 colororder 函数,但在本例中是为特定坐标区设置色序,而不是为整个图窗设置。必须将 hold 状态设置为 'on',从而确保后续绘图命令不会重置坐标区以使用默认色序。

如果您使用 R2019a 或更早版本,更改色序矩阵不会影响现有绘图。要更改现有绘图中的颜色,您必须设置 ColorOrder 属性,然后在调用任何绘图函数之前将坐标区保留状态设置为 'on'

此属性的行为在 R2019b 中已更改。有关详细信息,请参阅:

色序索引,指定为正整数。此属性指定当 MATLAB 创建下一个绘图对象(例如 LineScatterBar 对象)时从坐标区 ColorOrder 属性中选择的下一个颜色。例如,如果色序索引值为 1,则添加到坐标区的下一个对象使用 ColorOrder 矩阵中的第一个颜色。如果索引值超过 ColorOrder 矩阵中的颜色数,则通过索引值对 ColorOrder 矩阵中的颜色数求模来决定下一个对象的颜色。

如果坐标区的 NextPlot 属性设置为 'add',则每次在坐标区中添加新绘图时色序索引值都会增加。要再次使用第一个颜色开始,请将 ColorOrderIndex 属性设置为 1

此属性的行为在 R2019b 中已更改。有关详细信息,请参阅ColorOrder 和 LineStyleOrder 的索引方案可能会更改绘图的颜色和线型。

线型序列,指定为字符向量、字符向量元胞数组或字符串数组。此属性列出了 MATLAB 在坐标区中显示多个绘图线条使用的线型。MATLAB 根据创建线条的顺序对它们分配线型。只有在对当前线型用尽 ColorOrder 属性中的所有颜色后,它才会开始使用下一线型。默认的 LineStyleOrder 只有一个线型 '-'

要自定义线型序列,请创建一个字符向量元胞数组或字符串数组。将数组的每个元素指定为下列各表中的一个线条设定符或标记设定符。您可以在一个元素中组合使用线型和标记设定符,如 '-*'

线条设定符说明
'-'(默认值) 实线
'--'虚线
':'点线
'-.'点划线

标记设定符说明
'+'加号标记
'o'圆形标记
'*'星形标记
'.'点标记
'x'交叉标记
's'方形标记
'd'菱形标记
'^'上三角标记
'v'下三角标记
'>'右三角标记
'<'左三角标记
'p'五角星(五角形)标记
'h'六角星(六角形)标记

在绘图之前或之后更改线型序列

从 R2019b 开始,您可以在坐标区中绘图之前或之后更改线型序列。当 LineStyleOrder 属性设置为新值时,MATLAB 会更新坐标区中所有线条的线型。如果继续在坐标区中绘图,绘图命令会继续使用更新后的列表中的线型。

如果您正在使用 R2019a 或更早版本,您必须在绘图之前更改线型序列。设置 LineStyleOrder 属性的值,然后在调用任何绘图函数之前调用 hold 函数以将坐标区保留状态设置为 'on'

此属性的行为在 R2019b 中已更改。有关详细信息,请参阅:

线型序列索引,指定为正整数。此属性指定 MATLAB 在创建下一个绘图线条时从坐标区 LineStyleOrder 属性中选择的下一个线型。例如,如果此属性设置为 1,则添加到坐标区的下一个绘图线条将使用 LineStyleOrder 属性中的第一项。如果索引值超过 LineStyleOrder 数组中的线型数,则使用索引值对 LineStyleOrder 数组中元素数量求模来决定下一个线条的线型。

当坐标区的 NextPlot 属性设置为 'add' 时,MATLAB 会在对当前线型用尽 ColorOrder 属性中的所有颜色后递增索引值。要再次使用第一个线型开始,请将 LineStyleOrderIndex 属性设置为 1

此属性的行为在 R2019b 中已更改。有关详细信息,请参阅ColorOrder 和 LineStyleOrder 的索引方案可能会更改绘图的颜色和线型。

在向坐标区中添加新绘图时要重置的属性,指定为下列值之一:

  • 'add' - 在现有坐标区上添加新绘图。在显示新绘图之前,不删除现有绘图或重置坐标区属性。

  • 'replacechildren' - 在显示新绘图之前删除现有绘图。可将 ColorOrderIndexLineStyleOrderIndex 属性重置为 1,但不要重置其他坐标区属性。添加到坐标区的下一个绘图基于 ColorOrderLineStyle 序列属性使用第一个颜色和线型。此值类似于在每个新绘图之前使用 cla

  • 'replace' - 在显示新绘图之前,删除现有绘图并将除 PositionUnits 之外的所有坐标区属性重置为默认值。

  • 'replaceall' - 在显示新绘图之前,删除现有绘图并将除 PositionUnits 之外的所有坐标区属性重置为默认值。此值类似于在每个新绘图之前使用 cla reset

图窗对象还有一个 NextPlot 属性。也可以使用 newplot 函数准备图窗和坐标区,以执行后续的图形命令。

渲染对象的顺序,指定为下列值之一:

  • 'depth' - 基于当前视图按从后到前的顺序绘制对象。使用此值可确保前方对象得到正确绘制渲染(相对于后方对象)。

  • 'childorder' - 按图形函数创建对象的顺序绘制这些对象,而不考虑对象在三个维度中的关系。此值可产生更快的渲染速度,特别是在图窗非常大时,但同时可能导致显示对象的深度排序不恰当。

颜色图和透明度图

全部展开

颜色图,指定为由 RGB(红色、绿色、蓝色)三元组组成的 m×3 数组,这些三元组定义 m 种单独的颜色。您也可以使用 colormap 函数更改颜色图。

MATLAB 按行号访问这些颜色。

示例: gx.Colormap = [1 0 1; 0 0 1; 1 1 0] 将颜色图设置为三种颜色:品红色、蓝色和黄色。

颜色图的刻度,指定为下列值之一:

  • 'linear' - 线性刻度。颜色栏上的刻度值也使用线性刻度。

  • 'log' - 对数刻度。颜色栏上的刻度值也使用对数刻度。

示例: gx.ColorScale = 'log'

颜色图的颜色范围,指定为 [cmin cmax] 形式的二元素向量。

如果关联的模式属性设置为 'auto',则 MATLAB 将自动选择颜色范围。如果您向该属性分配值,则 MATLAB 会将模式设置为 'manual',且不会自动选择颜色范围。

CLim 属性的选择模式,指定为下列值之一:

  • 'auto' - 根据坐标区包含的图形对象的颜色数据自动选择范围。

  • 'manual' - 手动指定值。要指定值,请设置 CLim 属性。当坐标区子级的范围改变时,这些值不会改变。

透明度图,指定为从 01 线性递增的有限 alpha 值组成的数组。数组大小可以是 m×1 或 1×m。MATLAB 按 alpha 值在数组中的索引访问来它们。Alphamap 可以为任意长度。

透明度图的刻度,指定为下列值之一:

  • 'linear' - 线性刻度

  • 'log' - 对数刻度

示例: gx.AlphaScale = 'log'

alphamap 的 alpha 范围,指定为 [amin amax] 形式的二元素向量。

如果关联的模式属性设置为 'auto',则 MATLAB 将自动选择 alpha 范围。如果您设置该属性,则 MATLAB 将模式设置为 'manual',且不会自动选择 alpha 范围。

ALim 属性的选择模式,指定为下列值之一:

  • 'auto' - 根据坐标区包含的图形对象的 AlphaData 值自动选择范围。

  • 'manual' - 手动指定 alpha 范围。要指定 alpha 范围,请设置 ALim 属性。

框样式

全部展开

背景颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或颜色短名称。仅当 Basemap 属性设置为 'none' 时,背景色才可见。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4 0.6 0.7]

  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0F。这些值不区分大小写。因此,颜色代码 '#FF8800''#ff8800''#F80''#f80' 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称短名称RGB 三元组十六进制颜色代码外观
'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'不适用不适用不适用无颜色

以下是 MATLAB 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组十六进制颜色代码外观
[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'

示例: gx.Color = [0 0 1];

示例: gx.Color = 'b';

示例: gx.Color = 'blue';

示例: gx.Color = '#0000FF';

线条的宽度,指定为正标量值(以磅为单位)。一磅等于 1/72 英寸。

示例: gx.LineWidth = 1.5

地理坐标区的轮廓,指定为 'on''off'

示例: gx.Box = 'off'

位置

全部展开

地理坐标区的尺寸和位置,包括标签和边距,指定为 [left bottom width height] 形式的四元素向量。此向量定义地理坐标区外边界围成的矩形范围。leftbottom 元素定义地理坐标区所在图窗或面板的左下角到矩形左下角的距离。widthheight 元素是矩形维度。

默认情况下,这些值使用归一化的容器单位进行测量。要更改单位,请设置 Units 属性。[0 0 1 1] 的默认值包括容器的整个内部。

注意

当父容器为 TiledChartLayout 时,设置此属性不起作用。

地理坐标区的尺寸和位置,不包括标签或边距,指定为 [left bottom width height] 形式的四元素向量。此向量定义紧紧围绕地理坐标区的矩形边界的范围。leftbottom 元素定义容器左下角到矩形左下角的距离。widthheight 元素是矩形维度。

默认情况下,这些值使用归一化的容器单位进行测量。要更改单位,请设置 Units 属性。

示例: gx.Position = [0 0 1 1] 没有指定容器左下角到矩形之间的距离以及填充整个容器的宽度和高度。

注意

当父容器为 TiledChartLayout 时,设置此属性不起作用。

此属性为只读

文本标签的边距,以 [left bottom right top] 形式的四元素向量返回。此属性是只读的。

这些元素定义 Position 属性的边界和地理坐标区文本标签及标题的范围之间的距离。默认情况下,这些值使用归一化的图窗或 uipanel(包含地理坐标区)单位进行测量。要更改单位,请设置 Units 属性。

Position 属性和 TightInset 属性定义包围地理坐标区及其标签和标题的最紧凑边界框。

在增加、删除或更改装饰元素时保持不变的位置属性,指定为下列值之一:

  • 'outerposition' - 在添加、删除或更改装饰元素(例如标题或轴标签)时,OuterPosition 属性保持不变。如需任何位置调整,MATLAB 会调整 Position 属性。

  • 'position' - 在添加、删除或更改装饰元素(例如标题或轴标签)时,Position 属性保持不变。如需任何位置调整,MATLAB 会调整 OuterPosition 属性。

注意

当父容器为 TiledChartLayout 时,设置此属性不起作用。

位置单位,指定为下列值之一:

Units说明
'normalized'(默认值)根据容器进行归一化,容器通常是图窗或面板。容器的左下角映射到 (0,0),右上角映射到 (1,1)
'inches'英寸
'centimeters'厘米
'characters'

基于图形根对象的默认 uicontrol 字体:

  • 字符宽度 = 字母 x 的宽度。

  • 字符高度 = 两个文本行的基线之间的距离。

'points'字体磅数。一磅等于 1/72 英寸。
'pixels'

像素。

  • 在 Windows 系统上,一个像素是 1/96 英寸。

  • Macintosh 系统上,一个像素是 1/72 英寸。

  • 在 Linux 系统上,一个像素的大小由系统分辨率确定。

在对象创建过程中将单位指定为 Name,Value 对组时,您必须先设置 Units 属性,然后再指定要使用这些单位的属性(如 Position)。

布局选项,指定为 TiledChartLayoutOptions 对象。此属性指定当坐标区是分块图布局的子级时的选项。通过对 TiledChartLayoutOptions 对象设置 TileTileSpan 属性,使用此属性在布局内定位坐标区。

例如,以下代码将坐标区 ax 放置在分块图布局的第三个图块中。

ax.Layout.Tile = 3;

要使坐标区占据多个图块,请将 TileSpan 属性指定为二元素向量。例如,此坐标区占据了 2 行和 3 列的图块。

ax.Layout.TileSpan = [2 3];

如果此坐标区不是分块图布局的子级(例如,如果它是图窗或面板的子级),则此属性为空且不起作用。

交互性

全部展开

数据探查工具栏,指定为 AxesToolbar 对象。将鼠标悬停在地理坐标区上时,工具栏会显示在坐标区的右上角。通过工具栏可快速访问数据探查工具,如缩放、还原视图和数据提示。

如果您不希望在将鼠标悬停在地理坐标区上时显示工具栏,请将 AxesToolbar 对象的 Visible 属性设置为 'off'。有关 AxesToolbar 对象属性的详细信息,请参阅 AxesToolbar 属性

示例: gx.Toolbar.Visible = 'off'

地理坐标区的可见性状态,指定为下列值之一:

  • 'on' - 显示对象。

  • 'off' - 隐藏对象而不删除它。您仍然可以访问不可见对象的属性。

此属性为只读

鼠标指针的位置,指定为以下形式的 2×3 数组:

[lat lon 0
 lat lon 0]

CurrentPoint 属性包含鼠标指针关于地理坐标区的纬度 (lat) 和经度 (lon) 坐标。(lat,lon) 点指示上一次鼠标点击的位置。但是,如果图窗定义了 WindowButtonMotionFcn 回调,则 (lat,lon) 点指示鼠标指针最后所在的位置。

返回值的格式与 Axes 对象的 CurrentPoint 属性的返回值一致。对于地理坐标区,返回值的第三列始终为零。第二行中的纬度和经度值与第一行中的值重复。

示例: [52.1411 -125.1167 0; 52.1411 -125.1167 0]

上下文菜单,指定为 ContextMenu 对象。使用此属性在您右键点击对象时显示上下文菜单。使用 uicontextmenu 函数创建上下文菜单。

注意

如果 PickableParts 属性设置为 'none' 或者 HitTest 属性设置为 'off',该上下文菜单将不显示。

选择状态,指定为下列值之一:

  • 'on' - 已选择。如果您在绘图编辑模式下点击对象,则 MATLAB 会将其 Selected 属性设置为 'on'。如果 SelectionHighlight 属性也设置为 'on',则 MATLAB 将在对象周围显示选择句柄。

  • 'off' - 未选择。

选定时选择句柄的显示方式,指定为以下值之一:

  • 'on' - 在 Selected 属性设置为 'on' 时显示选择句柄。

  • 'off' - 永远不显示选择句柄,即使 Selected 属性设置为 'on' 也是如此。

回调

全部展开

鼠标点击回调,指定为下列值之一:

  • 函数句柄

  • 元胞数组,包含一个函数句柄和其他参数

  • 作为有效 MATLAB 命令或函数(在基础工作区中计算)的字符向量(不推荐)

使用此属性在您点击对象时执行代码。如果使用函数句柄指定此属性,则 MATLAB 在执行回调时将向回调函数传递两个参数:

  • 点击的对象 - 从回调函数中访问点击的对象的属性。

  • 事件数据 - 空参数。在函数定义中将其替换为波浪号字符 (~) 以指示不使用此参数。

有关如何使用函数句柄定义回调函数的详细信息,请参阅回调定义

注意

如果 PickableParts 属性设置为 'none' 或者 HitTest 属性设置为 'off',则不执行此回调。

对象创建函数,指定为下列值之一:

  • 函数句柄。

  • 第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参数。

  • 包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。

有关将回调指定为函数句柄、元胞数组或字符向量的详细信息,请参阅回调定义

此属性指定要在 MATLAB 创建对象时执行的回调函数。MATLAB 将在执行 CreateFcn 回调之前初始化所有属性值。如果不指定 CreateFcn 属性,则 MATLAB 执行默认的创建函数。

对现有组件设置 CreateFcn 属性没有任何作用。

如果将此属性指定为函数句柄或元胞数组,则可以使用回调函数的第一个参数访问正在创建的对象。否则,使用 gcbo 函数访问该对象。

对象删除函数,指定为下列值之一:

  • 函数句柄。

  • 第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参数。

  • 包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。

有关将回调指定为函数句柄、元胞数组或字符向量的详细信息,请参阅回调定义

此属性指定在 MATLAB 删除对象时要执行的回调函数。MATLAB 在销毁对象的属性之前执行 DeleteFcn 回调。如果不指定 DeleteFcn 属性,则 MATLAB 执行默认的删除函数。

如果将此属性指定为函数句柄或元胞数组,则可以使用回调函数的第一个参数访问要删除的对象。否则,使用 gcbo 函数访问该对象。

回调执行控件

全部展开

回调中断,指定为 'on''off'Interruptible 属性确定是否可以中断运行中回调。

有以下两种回调状态要考虑:

  • 运行中回调是当前正在执行的回调。

  • 中断回调是试图中断运行中回调的回调。

每当 MATLAB 调用回调时,回调都会试图中断正在运行的回调(如果存在)。运行中回调所属对象的 Interruptible 属性决定着是否允许中断。Interruptible 属性具有下列两个可能的值:

  • 'on' - 允许其他回调中断对象的回调。中断发生在 MATLAB 处理队列的下一个位置,例如当存在 drawnowfigureuifiguregetframewaitforpause 命令时。

    • 如果运行中回调包含以上命令之一,则 MATLAB 将在该时刻停止执行回调并执行中断回调。当中断回调完成时,MATLAB 将恢复执行运行中回调。

    • 如果运行中回调不包含以上命令之一,则 MATLAB 执行完当前回调,不会出现任何中断。

  • 'off' - 阻止所有中断尝试。由中断回调所属的对象的 BusyAction 属性决定是放弃该中断回调还是将其放入队列中。

注意

回调的中断和执行在以下情况下会有不同的表现:

  • 如果中断回调是 DeleteFcnCloseRequestFcnSizeChangedFcn 回调,则无论是否存在 Interruptible 属性值都会发生中断。

  • 如果运行中回调当前正在执行 waitfor 函数,则无论是否存在 Interruptible 属性值都会发生中断。

  • Timer 对象根据排定时间执行,而不管 Interruptible 属性值如何。

发生中断时,MATLAB 不保存属性状态或显示内容。例如,gcagcf 命令返回的对象可能会在另一个回调执行时发生改变。

回调排队,指定为 'queue''cancel'BusyAction 属性决定 MATLAB 如何处理中断回调的执行。有以下两种回调状态要考虑:

  • 运行中回调是当前正在执行的回调。

  • 中断回调是试图中断运行中回调的回调。

无论何时 MATLAB 调用回调,该回调都会试图中断运行中回调。运行中回调所属对象的 Interruptible 属性决定着是否允许中断。如果不允许中断,则中断回调所属对象的属性 BusyAction 将决定是放弃该回调还是将回调放入队列中。以下是 BusyAction 属性的可能值:

  • 'queue' - 将中断回调放入队列中,以便在运行中回调执行完毕后进行处理。

  • 'cancel' - 不执行中断回调。

捕获鼠标点击的能力,指定为以下值之一:

  • 'visible' - 仅当对象可见时才捕获鼠标点击。Visible 属性必须设置为 'on'HitTest 属性决定是 GeographicAxes 对象响应点击还是父级响应点击。

  • 'all' - 无论是否可见都捕获鼠标点击。Visible 属性可以设置为 'on''off'HitTest 属性决定是 GeographicAxes 对象响应点击还是父级响应点击。

  • 'none' - 无法捕获鼠标点击。点击 GeographicAxes 对象会将点击操作传递给图窗窗口的当前视图中该对象下面的对象,通常是坐标区或图窗。HitTest 属性没有任何作用。

如果希望某个对象在其位于其他不需要点击的对象下方时可点击,请将其他对象的 PickableParts 属性设置为 'none' 以使点击穿过它们。

响应捕获的鼠标点击,指定为以下值之一:

  • 'on' - 触发 GeographicAxes 对象的 ButtonDownFcn 回调。如果您已定义 UIContextMenu 属性,则调用上下文菜单。

  • 'off' - 触发满足以下条件之一的 GeographicAxes 对象的最近父级的回调:

    • HitTest 属性设置为 'on'

    • PickableParts 属性所设置的值允许父级捕获鼠标点击。

注意

PickableParts 属性决定 GeographicAxes 对象是否可以捕获鼠标点击。如果无法捕获,则 HitTest 属性没有任何作用。

此属性为只读

删除状态,以 'off''on' 形式返回。当 DeleteFcn 回调开始执行时,MATLAB 会将 BeingDeleted 属性设置为 'on'BeingDeleted 属性将一直保持 'on' 设置状态,直到组件对象不再存在为止。

在查询或修改对象之前,请先检查其 BeingDeleted 属性的值,以确认它不是待删除项。

父级/子级

全部展开

父容器,指定为 FigurePanelTabTiledChartLayout 对象。

子级,以图形对象数组形式返回。使用该属性可查看子级列表,或重新排列子级顺序(通过将该属性设置为自身的置换来完成)。

不能使用 Children 属性添加或删除子级。要向此列表中添加子级,请将子图形对象的 Parent 属性设置为 GeographicAxes 对象。

父级的 Children 属性中对象句柄的可见性,指定为下列值之一:

  • 'on' - 对象句柄始终可见。

  • 'off' - 对象句柄始终不可见。该选项用于防止另一函数无意中对其进行更改。将 HandleVisibility 设置为 'off' 可在执行该函数时暂时隐藏句柄。

  • 'callback' - 对象句柄在回调或回调所调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止通过命令行访问对象,但允许回调函数访问对象。

如果父级的 Children 属性中未列出该对象,则通过搜索对象层次结构或查询句柄属性获取对象句柄的函数无法返回该对象。此类函数的示例包括 getfindobjgcagcfgconewplotclaclfclose 函数。

隐藏的对象句柄仍有效。将根 ShowHiddenHandles 属性设置为 'on' 以列出所有对象句柄,而不管其 HandleVisibility 属性设置如何。

标识符

全部展开

此属性为只读

图形对象的类型,以 'geoaxes' 形式返回。

对象标识符,指定为字符向量或字符串标量。您可以指定唯一的 Tag 值作为对象的标识符。如果需要访问您代码中其他位置的对象,可以使用 findobj 函数基于 Tag 值搜索对象。

用户数据,指定为任何 MATLAB 数组。例如,您可以指定标量、向量、矩阵、元胞数组、字符数组、表或结构体。使用此属性存储对象上的任意数据。

如果您在 App 设计工具中工作,请在该 App 中创建公共或私有属性以共享数据,而不是使用 UserData 属性。有关详细信息,请参阅在用 App 设计工具创建的 App 内共享数据

兼容性考虑

全部展开

R2019b 中的行为有变化

R2019b 中的行为有变化

在 R2018b 中推出