GeographicAxes 属性
GeographicAxes
属性控制 GeographicAxes
对象的外观和行为。通过更改属性值,您可以修改地理坐标区的特定方面。在绘图后再设置坐标区属性,因为某些图形函数会重置坐标区属性。
一些图形函数会在绘图时创建地理坐标区。使用 gca
访问新创建的坐标区。要使用所有属性的默认值创建地理坐标区,请使用 geoaxes
函数。
gx = geoaxes;
地图
Basemap
— 要在上面绘制数据的地图
'streets-light'
(默认) | 'streets-dark'
| 'streets'
| 'satellite'
| 'topographic'
| ...
要在其上绘制数据的地图,指定为下表中列出的值之一。有六幅底图是使用 Natural Earth 创建的图块化数据集。其中五个底图是由 Esri® 托管的高缩放级别地图。
|
旨在提供地理上下文同时在浅色背景上突出显示用户数据的地图。 由 Esri 托管。 | |
旨在提供地理上下文同时在深色背景上突出显示用户数据的地图。 由 Esri 托管。 |
|
通用公路图,强调公路和交通网络的准确、清晰样式。 由 Esri 托管。 | |
由高分辨率卫星图像组成的完整全球底图。 由 Esri 托管。 |
|
具有用于描绘地形特征的样式的通用地图。 由 Esri 托管。 | |
结合卫星衍生的地表数据、着色地势和海底地势的地图。明亮、自然的调色板适用于主题地图和参考地图。 使用 Natural Earth 创建。 |
|
叠加了地表配色的着色地势图。潮湿的低地为绿色,干旱的低地为棕色。 使用 Natural Earth 创建。 | |
灰色地形图。着色地势强调高山和洼地的微地形。 使用 Natural Earth 创建。 |
|
具有浅绿色陆地区域和浅蓝色水域的双色陆地海洋地图。 使用 Natural Earth 创建。 | |
具有灰色陆地区域和白色水域的双色陆地海洋地图。 使用 Natural Earth 创建。 |
|
具有浅灰色陆地区域和深灰色水域的双色陆地海洋地图。此底图随 MATLAB® 一起安装。 使用 Natural Earth 创建。 |
空白背景,用经纬度网格、刻度和标签绘制数据。 |
除 'darkwater'
外,所有底图都需要 Internet 访问权限。'darkwater'
底图包含在 MATLAB 中。
如果您不能随时访问 Internet,可使用附加功能资源管理器将使用 Natural Earth 创建的底图下载到您的本地系统上。这五个高缩放级别的地图无法下载。有关下载底图和更改本地系统上默认底图的详细信息,请参阅访问用于地理坐标区和地理图的底图。
由 Esri 托管的底图会周期性更新。因此,随着时间的推移,您可能会看到可视化出现差异。
边界和区域标签的对齐是数据供应商提供的功能的展示,并不意味着 MathWorks® 对此做出背书。
示例: gb = geobubble(1:10,1:10,'Basemap','bluegreen')
示例: gb.Basemap = 'bluegreen'
数据类型: char
| string
LatitudeLimits
— 地图的纬度范围
由有限实数值组成的 1×2 向量
此 属性 为只读。
地图的纬度范围,指定为 [southern_limit northern_limit]
形式的、位于 [-90,90] 范围内的 1×2 有限实数值向量。使用 geolimits
函数更改纬度范围。
示例: [-85 85]
LongitudeLimits
— 地图的经度范围
由有限实数值组成的 1×2 向量
此 属性 为只读。
地图的经度范围,指定为 [western_limit eastern_limit]
形式的 1×2 有限实数值向量。值必须在 (-Inf, Inf)
范围内。使用 geolimits
函数更改经度范围。
示例: [-100 100]
MapCenter
— 以纬度和经度表示的地图中心点
由有限实数值组成的二元素数值向量
以纬度和经度表示的地图中心点,指定为 [center_latitude center_longitude]
形式的二元素有限实数值向量。
示例: [38.6292 -95.2520]
MapCenterMode
— 地图中心的选择模式
'auto'
(默认) | 'manual'
地图中心的选择模式,指定为下列值之一:
'auto'
- 对象根据数据范围自动选择地图中心。'manual'
- 如果您为MapCenter
指定值,对象会自动将此属性设置为'manual'
。
示例: gx.MapCenterMode = 'auto'
ZoomLevel
— 地图的放大级别
介于 0 和 25 之间(包括 0 和 25)的有限实数数值标量
地图的放大级别,指定为从 0 到 25(包括 0 和 25)的有限实数数值标量。该值是以 2 为底的对数地图缩放比例。ZoomLevel
的值增加 1,地图缩放比例将翻倍。
ZoomLevelMode
— 缩放级别的选择模式
'auto'
(默认) | 'manual'
缩放级别的选择模式,指定为下列值之一:
'auto'
- 对象根据数据范围选择缩放级别。'manual'
- 如果您为ZoomLevel
指定值,对象会自动将此属性设置为'manual'
。
示例: gx.ZoomLevelMode = 'manual'
Scalebar
— 用于显示地图上比例距离的比例尺
GeographicScalebar
对象
此 属性 为只读。
用于显示地图上比例距离的比例尺,指定为 GeographicScalebar
对象。要修改比例尺的外观和行为,例如其可见性,请使用 GeographicScalebar
对象的属性。有关这些属性的详细信息,请参阅 GeographicScalebar 属性。
示例: sbar = gx.Scalebar
返回 GeographicScalebar
对象。
示例: gx.Scalebar.Visible = 'off';
设置 GeographicScalebar
属性的值。
字体
FontName
— 字体名称
支持的字体名称 | 'FixedWidth'
字体名称,指定为支持的字体名称或 'FixedWidth'
。要正确显示和打印文本,您必须选择系统支持的字体。默认字体取决于您的操作系统和区域设置。
要使用在任何区域设置中都有较好显示效果的等宽字体,请使用 'FixedWidth'
。等宽字体依赖于根 FixedWidthFontName
属性。设置根 FixedWidthFontName
属性会导致立即更新显示方式以使用新字体。
FontSize
— 字体大小
数值标量
字体大小,指定为数值标量。字体大小会影响与坐标区相关联的标题、刻度标签、图例、颜色栏和比例尺。默认字体大小取决于具体操作系统和区域设置。默认情况下,字体大小以磅为单位进行测量。要更改单位,请设置 FontUnits
属性。
MATLAB 会自动将某些文本缩放为坐标区字体大小的百分比。
标题 - 默认情况下为坐标区字体大小的 110%。要控制缩放比例,请使用
TitleFontSizeMultiplier
和LabelFontSizeMultiplier
属性。图例和颜色栏 - 默认情况下为坐标区字体大小的 90%。要指定不同的字体大小,请设置
Legend
或ColorBar
对象的FontSize
属性。比例尺 - 默认情况下为坐标区字体大小的 80%。
示例: gx.FontSize = 12
FontSizeMode
— 字体大小的选择模式
'auto'
(默认) | 'manual'
字体大小的选择模式,指定为下列值之一:
'auto'
- 由 MATLAB 指定的字体大小。如果将坐标区的大小调整为小于默认大小,则字体大小可能会缩小以改善可读性和布局。'manual'
- 手动指定的字体大小。不随坐标区大小改变而缩放字体大小。要指定字体大小,请设置FontSize
属性。
FontWeight
— 字符粗细
'normal'
(默认) | 'bold'
字符粗细,指定为 'normal'
或 'bold'
。
MATLAB 使用 FontWeight
属性从系统提供的字体中选择一种字体。并非所有字体都有加粗字体。因此,指定加粗字体仍可能得到普通字体。
FontAngle
— 字符倾斜
'normal'
(默认) | 'italic'
字符倾斜,指定为 'normal'
或 'italic'
。
并非所有字体都有两种字体样式。因此,斜体可能看上去和常规字体一样。
LabelFontSizeMultiplier
— 标签字体大小的缩放因子
1.1
(默认) | 大于 0 的数值
标签字体大小的缩放因子,指定为大于 0 的数值。此缩放因子应用于 FontSize
属性的值,以确定标签的字体大小。
示例: gx.LabelFontSizeMultiplier = 1.75
TitleFontSizeMultiplier
— 标题字体大小的缩放因子
1.1
(默认) | 大于 0 的数值
标题字体大小的缩放因子,指定为大于 0 的数值。此缩放因子应用于 FontSize
属性的值,以确定标题的字体大小。
示例: gx.TitleFontSizeMultiplier = 1.75
TitleFontWeight
— 标题字符的粗细
'bold'
(默认) | 'normal'
标题字符的粗细,指定为下列值之一:
'bold'
- 字符轮廓比普通粗'normal'
- 特定字体定义的默认粗细
示例: gx.TitleFontWeight = 'normal'
SubtitleFontWeight
— 副标题字符粗细
'normal'
(默认) | 'bold'
副标题字符粗细,指定为下列值之一:
'normal'
- 特定字体定义的默认粗细'bold'
- 字符粗细比普通的粗
FontUnits
— 字体大小单位
'points'
(默认) | 'inches'
| 'centimeters'
| 'normalized'
| 'pixels'
字体大小单位,指定为下列值之一。
Units | 描述 |
---|---|
'points' | 磅。一磅等于 1/72 英寸。 |
'inches' | 英寸。 |
'centimeters' | 厘米。 |
'normalized' | 按坐标区高度的一定比例来解释字体大小。如果您调整坐标区的大小,则字体大小也会相应地修改。例如,如果 FontSize 为 0.1 (归一化单位),则文本为坐标区属性 Position 中存储的高度值的 1/10。 |
'pixels' | 像素。 从 R2015b 开始,以像素为单位的距离不再依赖 Windows® 和 Macintosh 系统上的系统分辨率。
|
要在同一个函数调用中设置字体大小和字体单位,必须先设置 FontUnits
属性,以便 Axes
对象能够正确解释指定的字体大小。
刻度
TickDir
— 刻度线方向
'in'
(默认) | 'out'
| 'both'
| 'none'
刻度线方向,指定为下列值之一:
'in'
- 刻度线从轴线指向内部。(二维视图的默认值)'out'
- 刻度线从轴线指向外部。(三维视图的默认值)'both'
- 刻度线以轴线为中心。'none'
- 不显示任何刻度线。
TickDirMode
— 刻度线方向的选择模式
'manual'
(默认) | 'auto'
由 TickDir
属性设置的刻度线方向的选择模式,指定为下列值之一。
'auto'
- 根据当前视图自动选择刻度方向。'manual'
- 手动指定刻度方向。要指定刻度方向,请设置TickDir
属性。
示例: gx.TickDirMode = 'auto';
TickLength
— 刻度线长度
[0.01 0.025]
(默认) | 二元素向量
刻度线长度,指定为 [length unused]
形式的二元素向量。length 是刻度线长度。指定值时采用的是以坐标区最长维度为基准的归一化单位。GeographicRuler
对象使用一个二元素向量来与其他标尺对象中此属性的值保持一致,但不使用第二个元素。
注意
设置 TickLength
属性会自动将与 LatitudeAxis
和 LongitudeAxis
属性相关联的 GeographicRuler
对象中的 TickLength
属性设置为相同的值。但是,在 GeographicRuler
对象中设置 TickLength
属性不会自动在坐标区对象中设置相同的属性。要防止轴属性值覆盖标尺属性值,请先设置轴属性值,然后设置标尺属性值。
示例: gx.TickLength = [0.02 0.0];
TickLabelFormat
— 刻度标签格式
'dms'
(默认) | 'dd'
| 'dm'
| '-dd'
| '-dm'
| '-dms'
刻度标签格式,指定为下列值之一。
格式 | 描述 | 示例 |
---|---|---|
'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';
标尺
LatitudeAxis
— 纬度标尺
GeographicRuler
对象
纬度标尺,指定为 GeographicRuler
对象。使用 GeographicRuler
对象的属性来控制轴标尺的外观和行为。有关详细信息,请参阅 GeographicRuler 属性。
此图以红色显示纬度轴线。
示例: latruler = gx.LatitudeAxis;
示例: gx.LatitudeAxis.TickLabelRotation = 45;
LongitudeAxis
— 经度标尺
GeographicRuler
经度标尺,指定为 GeographicRuler
对象。使用 GeographicRuler
对象的属性来控制轴标尺的外观和行为。有关详细信息,请参阅 GeographicRuler 属性。
此图以红色显示经度轴线。
示例: lonruler = gx.LongitudeAxis;
示例: gx.LongitudeAxis.TickDirection = 'out';
AxisColor
— 轴线、刻度值和标签的颜色
[0.1500 0.1500 0.1500]
(默认) | RGB 三元组 | 十六进制颜色代码 | 颜色名称 | 短颜色名称
轴线、刻度值和标签的颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短颜色名称。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符向量或字符串标量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#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
属性会自动将 GeographicRuler
和 GeographicScalebar
对象中的 Color
属性设置为相同的值。GeographicRuler
对象控制地理坐标区中标尺的行为和外观。GeographicScalebar
对象控制地理坐标区中的比例尺。但是,在 GeographicRuler
或 GeographicScalebar
对象中设置 Color
属性不会自动在坐标区对象中设置 AxisColor
属性。要防止轴属性值覆盖标尺或比例尺属性值,请先设置轴属性值,然后设置标尺或比例尺属性值。
示例: gx.AxisColor = [0 0 1];
示例: gx.AxisColor = 'b';
示例: gx.AxisColor = 'blue';
示例: gx.AxisColor = '#0000FF';
网格
Grid
— 纬度和经度线的可见性
'on'
(默认) | on/off 逻辑值
地图上纬度和经度线的可见性,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 显示网格线。'off'
- 不显示网格线。
示例: gx.Grid = 'off';
GridLineStyle
— 网格线的线型
'-'
(默认) | '--'
| ':'
| '-.'
| 'none'
网格线的线型,指定为下表中的线型之一。
线型 | 描述 | 表示的线条 |
---|---|---|
'-' | 实线 |
|
'--' | 虚线 |
|
':' | 点线 |
|
'-.' | 点划线 |
|
'none' | 无线条 | 无线条 |
要显示网格线,请使用 grid on
命令或将 Grid
属性设置为 'on'
。
示例: gx.GridLineStyle = '--'
GridColor
— 网格线的颜色
[0.15 0.15 0.15]
(默认) | RGB 三元组 | 十六进制颜色代码 | 颜色名称 | 短颜色名称
背景颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短颜色名称。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符向量或字符串标量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#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" |
例如,创建一个具有红色网格线的地理轴对象。将 GridAlpha
属性设置为 0.5 以增加可见性。
gx = geoaxes;
gx.GridColor = 'r';
gx.GridAlpha = 0.5;
示例: gx.GridColor = [0 0 1];
示例: gx.GridColor = 'b';
示例: gx.GridColor = 'blue';
示例: gx.GridColor = '#0000FF';
GridColorMode
— 用于设置网格颜色的属性
'auto'
(默认) | 'manual'
用于设置网格颜色的属性,指定为下列值之一:
'auto'
- 对象自动选择颜色。'manual'
- 要设置所有方向的网格线颜色,请使用GridColor
。
GridAlpha
— 网格线透明度
0.15
(默认) | 范围 [0,1]
内的值
网格线透明度,指定为范围 [0,1]
中的值。值为 1
表示不透明,值为 0
表示完全透明。
示例: gx.GridAlpha = 0.5
GridAlphaMode
— GridAlpha
的选择模式
'auto'
(默认) | 'manual'
GridAlpha
属性的选择模式,指定为下列值之一:
'auto'
- 对象选择透明度值。'manual'
- 要指定透明度值,请使用GridAlpha
属性。
示例: gx.GridAlphaMode = 'auto'
标签
Title
— 坐标区标题
Text
对象 | categorical
Subtitle
— 副标题的文本对象
文本对象
坐标区副标题的文本对象。要添加副标题,请设置文本对象的 String
属性。要更改其外观,如字体角度,请设置其他属性。有关完整列表,请参阅 Text 属性。
ax = gca; ax.Subtitle.String = 'An Insightful Subtitle'; ax.Subtitle.FontAngle = 'italic';
也可以使用 subtitle
函数添加副标题并控制外观。
subtitle('An Insightful Subtitle','FontAngle','italic')
或者使用 title
函数,指定两个字符向量输入参数和两个输出参数。然后设置该函数返回的第二个文本对象的属性。
[t,s] = title('Clever Title','An Insightful Subtitle'); s.FontAngle = 'italic';
注意
此文本对象不包含在坐标区的 Children
属性中,它不能由 findobj
返回,也不使用为文本对象定义的默认值。
TitleHorizontalAlignment
— 标题和副标题水平对齐
'center'
(默认) | 'left'
| 'right'
标题和副标题与图框水平对齐,指定为下表中的值之一。
TitleHorizontalAlignment 值 | 描述 | 外观 |
---|---|---|
'center' | 标题和副标题位于图框上方的居中位置。 |
|
'left' | 标题和副标题与图框的左侧对齐。 |
|
'right' | 标题和副标题与图框的右侧对齐。 |
|
LatitudeLabel
— 纬度轴标签
Text
对象
纬度轴标签,指定为 Text
对象。要指定标签,请设置 Text
对象的 String
属性。要更改标签外观,例如字体样式或字体颜色,请设置其他 Text
对象属性。有关完整的属性列表,请参阅 Text 属性。
示例: gx.LatitudeLabel.String = 'My Latitude'
LongitudeLabel
— 经度轴标签
Text
对象
经度轴标签,指定为 Text
对象。要指定标签,请设置 Text 对象的 String
属性。要更改标签外观,例如字体样式或字体颜色,请设置其他 Text
对象属性。有关完整的属性列表,请参阅 Text 属性。
示例: gx.LongitudeLabel.String = 'My Longitude'
Legend
— 与地理坐标区关联的图例
empty GraphicsPlaceholder
(默认) | Legend
对象
此 属性 为只读。
与地理坐标区关联的图例,指定为 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
多个绘图
ColorOrder
— 色序
七种预定义颜色 (默认) | 由 RGB 三元组组成的三列矩阵
色序,指定为由 RGB 三元组组成的三列矩阵。此属性定义 MATLAB 创建绘图对象(例如 Line
、Scatter
和 Bar
对象)时使用的颜色的调色板。数组的每一行都是一个 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 中已更改。有关详细信息,请参阅:
LineStyleOrder
— 线型序列
'-'
实线 (默认) | 字符向量 | 字符向量元胞数组 | 字符串数组
线型序列,指定为字符向量、字符向量元胞数组或字符串数组。此属性列出了 MATLAB 在坐标区中显示多个绘图线条时使用的线型。MATLAB 根据创建线条的顺序为它们分配线型。只有在对当前线型用尽 ColorOrder
属性中的所有颜色后,它才会开始使用下一线型。默认的 LineStyleOrder
只有一个线型 '-'
。
要自定义线型序列,请创建一个字符向量元胞数组或字符串数组。将数组的每个元素指定为下列各表中的一个线条设定符或标记设定符。您可以在一个元素中组合使用线型和标记设定符,如 '-*'
。
线条设定符 | 描述 |
---|---|
'-' (默认值) | 实线 |
'--' | 虚线 |
':' | 点线 |
'-.' | 点划线 |
标记设定符 | 描述 |
---|---|
'+' | 加号标记 |
'o' | 圆形标记 |
'*' | 星形标记 |
'.' | 点标记 |
'x' | 交叉标记 |
's' | 方形标记 |
'd' | 菱形标记 |
'^' | 上三角标记 |
'v' | 下三角标记 |
'>' | 右三角标记 |
'<' | 左三角标记 |
'p' | 五角星(五角形)标记 |
'h' | 六角星(六角形)标记 |
在绘图之前或之后更改线型序列
从 R2019b 开始,您可以在坐标区中绘图之前或之后更改线型序列。当 LineStyleOrder
属性设置为新值时,MATLAB 会更新坐标区中所有线条的线型。如果继续在坐标区中绘图,绘图命令会继续使用更新后的列表中的线型。
如果您正在使用 R2019a 或更早版本,您必须在绘图之前更改线型序列。设置 LineStyleOrder
属性的值,然后在调用任何绘图函数之前调用 hold
函数以将坐标区保留状态设置为 'on'
。
此属性的行为在 R2019b 中已更改。有关详细信息,请参阅:
NextSeriesIndex
— 下一个对象的 SeriesIndex
值
整数
此 属性 为只读。
添加到坐标区的下一个绘图对象的 SeriesIndex
值,以大于或等于 0
的整数形式返回。当您要跟踪对象如何循环使用颜色和线型时,此属性非常有用。此属性维护坐标区中具有 SeriesIndex
属性的对象的计数。MATLAB 使用它为每个新对象分配 SeriesIndex
值。计数在创建坐标区时从 1
开始,每增加一个对象,计数就会增加 1
。因此,该计数通常是 n+1,其中 n 是坐标区中对象的数量。
如果您手动更改 ColorOrderIndex
或坐标区上的 LineStyleOrderIndex
属性,NextSeriesIndex
属性的值将更改为 0
。因此,当您更改坐标区上的 ColorOrder
或 LineStyleOrder
属性时,具有 SeriesIndex
属性的对象不再自动更新。
NextPlot
— 要重置的属性
'replace'
(默认) | 'add'
| 'replacechildren'
| 'replaceall'
在向坐标区中添加新绘图时要重置的属性,指定为下列值之一:
'add'
- 在现有坐标区上添加新绘图。在显示新绘图之前,不删除现有绘图或重置坐标区属性。'replacechildren'
- 在显示新绘图之前删除现有绘图。可将ColorOrderIndex
和LineStyleOrderIndex
属性重置为1
,但不要重置其他坐标区属性。添加到坐标区的下一个绘图基于ColorOrder
和LineStyle
序列属性使用第一个颜色和线型。此值类似于在每个新绘图之前使用cla
。'replace'
- 在显示新绘图之前,删除现有绘图并将除Position
、Units
和Basemap
之外的所有坐标区属性重置为默认值。'replaceall'
- 在显示新绘图之前,删除现有绘图并将除Position
和Units
之外的所有坐标区属性重置为默认值。此值类似于在每个新绘图之前使用cla reset
。
SortMethod
— 渲染对象的顺序
'childorder'
| 'depth'
渲染对象的顺序,指定为下列值之一:
'depth'
- 基于当前视图按从后到前的顺序绘制对象。使用此值可确保前方对象得到正确绘制渲染(相对于后方对象)。'childorder'
- 按图形函数创建对象的顺序绘制这些对象,而不考虑对象在三个维度中的关系。此值可产生更快的渲染速度,特别是在图窗非常大时,但同时可能导致显示对象的深度排序不恰当。
ColorOrderIndex
— 色序索引
1
(默认) | 正整数
色序索引,指定为正整数。此属性指定当 MATLAB 创建下一个绘图对象(例如 Line
、Scatter
或 Bar
对象)时从坐标区 ColorOrder
属性中选择的下一个颜色。例如,如果色序索引值为 1
,则添加到坐标区的下一个对象使用 ColorOrder
矩阵中的第一个颜色。如果索引值超过 ColorOrder
矩阵中的颜色数,则通过索引值对 ColorOrder
矩阵中的颜色数求模来决定下一个对象的颜色。
如果坐标区的 NextPlot
属性设置为 'add'
,则每次在坐标区中添加新绘图时色序索引值都会增加。要再次使用第一个颜色开始,请将 ColorOrderIndex
属性设置为 1
。
此属性的行为在 R2019b 中已更改。有关详细信息,请参阅ColorOrder 和 LineStyleOrder 的索引方案可能会更改绘图颜色和线型。
LineStyleOrderIndex
— 线型序列索引
1
(默认) | 正整数
线型序列索引,指定为正整数。此属性指定 MATLAB 在创建下一个绘图线条时从坐标区 LineStyleOrder
属性中选择的下一个线型。例如,如果此属性设置为 1
,则添加到坐标区的下一个绘图线条将使用 LineStyleOrder
属性中的第一项。如果索引值超过 LineStyleOrder
数组中的线型数,则使用索引值对 LineStyleOrder
数组中元素数量求模来决定下一个线条的线型。
当坐标区的 NextPlot
属性设置为 'add'
时,MATLAB 会在对当前线型用尽 ColorOrder
属性中的所有颜色后递增索引值。要再次使用第一个线型开始,请将 LineStyleOrderIndex
属性设置为 1
。
此属性的行为在 R2019b 中已更改。有关详细信息,请参阅ColorOrder 和 LineStyleOrder 的索引方案可能会更改绘图颜色和线型。
颜色图和透明度图
Colormap
— 颜色图
parula
(默认) | 由 RGB 三元组组成的 m×3 数组
颜色图,指定为由 RGB(红色、绿色、蓝色)三元组组成的 m×3 数组,这些三元组定义 m 种单独的颜色。您也可以使用 colormap
函数更改颜色图。
MATLAB 按行号访问这些颜色。
示例: gx.Colormap = [1 0 1; 0 0 1; 1 1 0]
将颜色图设置为三种颜色:品红色、蓝色和黄色。
ColorScale
— 颜色图的刻度
'linear'
(默认) | 'log'
颜色图的刻度,指定为下列值之一:
'linear'
- 线性刻度。颜色栏上的刻度值也使用线性刻度。'log'
- 对数刻度。颜色栏上的刻度值也使用对数刻度。
示例: gx.ColorScale = 'log'
CLim
— 颜色图的颜色范围
[0 1]
(默认) | [cmin cmax]
形式的二元素向量
颜色图的颜色范围,指定为 [cmin cmax]
形式的二元素向量。
如果关联的模式属性设置为 'auto'
,则 MATLAB 将自动选择颜色范围。如果您向该属性分配值,则 MATLAB 会将模式设置为 'manual'
,且不会自动选择颜色范围。
CLimMode
— CLim
的选择模式
'auto'
(默认) | 'manual'
CLim
属性的选择模式,指定为下列值之一:
'auto'
- 根据坐标区包含的图形对象的颜色数据自动选择范围。'manual'
- 手动指定值。要指定值,请设置CLim
属性。当坐标区子级的范围改变时,这些值不会改变。
Alphamap
— 透明度图
由从 0
到 1
的 64 个值组成的数组 (默认) | 由从 0
到 1
的有限 alpha 值组成的数组
透明度图,指定为从 0
到 1
线性递增的有限 alpha 值组成的数组。数组大小可以是 m×1 或 1×m。MATLAB 按 alpha 值在数组中的索引访问来它们。Alphamap 可以为任意长度。
AlphaScale
— 透明度图的刻度
'linear'
(默认) | 'log'
透明度图的刻度,指定为下列值之一:
'linear'
- 线性刻度'log'
- 对数刻度
示例: gx.AlphaScale = 'log'
ALim
— alphamap 的 alpha 范围
[0 1]
(默认) | [amin amax]
形式的二元素向量
alphamap 的 alpha 范围,指定为 [amin amax]
形式的二元素向量。
如果关联的模式属性设置为 'auto'
,则 MATLAB 将自动选择 alpha 范围。如果您设置该属性,则 MATLAB 将模式设置为 'manual'
,且不会自动选择 alpha 范围。
ALimMode
— ALim
的选择模式
'auto'
(默认) | 'manual'
ALim
属性的选择模式,指定为下列值之一:
'auto'
- 根据坐标区包含的图形对象的AlphaData
值自动选择范围。'manual'
- 手动指定 alpha 范围。要指定 alpha 范围,请设置ALim
属性。
框样式
Color
— 背景色
[1 1 1]
(默认) | RGB 三元组 | 十六进制颜色代码 | 颜色名称 | 颜色短名称 | ...
背景颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或颜色短名称。仅当 Basemap
属性设置为 'none'
时,背景色才可见。
对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于
[0,1]
范围内,例如[0.4 0.6 0.7]
。十六进制颜色代码是字符向量或字符串标量,以井号 (
#
) 开头,后跟三个或六个十六进制数字,范围可以是0
到F
。这些值不区分大小写。因此,颜色代码"#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';
LineWidth
— 线条的宽度
0.5
(默认) | 正标量值
线条的宽度,指定为正标量值(以磅为单位)。一磅等于 1/72 英寸。
示例: gx.LineWidth = 1.5
Box
— 地理坐标区的轮廓
'on'
(默认) | on/off 逻辑值
地理坐标区的轮廓,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
此图像显示一个地理坐标区对象,其 Box
属性设置为 'off'
。请注意,沿坐标区的顶部边框或右边框没有轮廓线。
示例: gx.Box = 'off'
位置
OuterPosition
— 地理坐标区的尺寸和位置,包括标签和边距
[0 0 1 1]
(默认) | 四元素向量
地理坐标区的尺寸和位置,包括标签和边距,指定为 [left bottom width height]
形式的四元素向量。此向量定义地理坐标区外边界围成的矩形范围。left
和 bottom
元素定义地理坐标区所在图窗或面板的左下角到矩形左下角的距离。width
和 height
元素是矩形维度。
默认情况下,这些值使用归一化的容器单位进行测量。要更改单位,请设置 Units
属性。[0 0 1 1]
的默认值包括容器的整个内部。
注意
当父容器为 TiledChartLayout
时,设置此属性不起作用。
InnerPosition
— 内界大小和位置
[0.1300 0.1100 0.7750 0.8150]
(默认) | 四元素向量
内部尺寸和位置,指定为 [left bottom width height]
形式的四元素向量。此属性等同于 Position
属性。
注意
当父容器为 TiledChartLayout
时,设置此属性不起作用。
Position
— 地理坐标区的尺寸和位置,不包括标签或边距
[0.1300 0.1100 0.7750 0.8150]
(默认) | 四元素向量
地理坐标区的尺寸和位置,不包括标签或边距,指定为 [left bottom width height]
形式的四元素向量。此向量定义紧紧围绕地理坐标区的矩形边界的范围。left
和 bottom
元素定义容器左下角到矩形左下角的距离。width
和 height
元素是矩形维度。
默认情况下,这些值使用归一化的容器单位进行测量。要更改单位,请设置 Units
属性。
示例: gx.Position = [0 0 1 1]
没有指定容器左下角到矩形之间的距离以及填充整个容器的宽度和高度。
注意
当父容器为 TiledChartLayout
时,设置此属性不起作用。
TightInset
— 文本标签的边距
[left bottom right top]
形式的四元素向量
此 属性 为只读。
文本标签的边距,以 [left bottom right top]
形式的四元素向量返回。此属性是只读的。
这些元素定义 Position
属性的边界和地理坐标区文本标签及标题的范围之间的距离。默认情况下,这些值使用归一化的图窗或 uipanel(包含地理坐标区)单位进行测量。要更改单位,请设置 Units
属性。
Position
属性和 TightInset
属性定义包围地理坐标区及其标签和标题的最紧凑边界框。
PositionConstraint
— 保持不变的位置
'outerposition'
| 'innerposition'
在增加、删除或更改装饰元素时保持不变的位置属性,指定为下列值之一:
'outerposition'
- 在添加、删除或更改装饰元素(例如标题或轴标签)时,OuterPosition
属性保持不变。如需任何位置调整,MATLAB 会调整InnerPosition
属性。'innerposition'
- 在添加、删除或更改装饰元素(例如标题或轴标签)时,InnerPosition
属性保持不变。如需任何位置调整,MATLAB 会调整OuterPosition
属性。
注意
当父容器为 TiledChartLayout
时,设置此属性不起作用。
Units
— 位置单位
'normalized'
(默认) | 'inches'
| 'centimeters'
| 'points'
| 'pixels'
| 'characters'
位置单位,指定为下列值之一:
Units | 描述 |
---|---|
'normalized' (默认值) | 根据容器进行归一化,容器通常是图窗或面板。容器的左下角映射到 (0,0) ,右上角映射到 (1,1) 。 |
'inches' | 英寸 |
'centimeters' | 厘米 |
'characters' | 基于图形根对象的默认 uicontrol 字体:
|
'points' | 字体磅数。一磅等于 1/72 英寸。 |
'pixels' | 像素。
|
在对象创建过程中将单位指定为 Name,Value
对组时,您必须先设置 Units
属性,然后再指定要使用这些单位的属性(如 Position
)。
Layout
— 布局选项
空 LayoutOptions
数组 (默认) | TiledChartLayoutOptions
对象 | GridLayoutOptions
对象
布局选项,指定为 TiledChartLayoutOptions
或 GridLayoutOptions
对象。当坐标区对象位于分块图布局或网格布局中时,此属性非常有用。
要在分块图布局的网格中定位坐标区,请设置 TiledChartLayoutOptions
对象的 Tile
和 TileSpan
属性。例如,假设有一个 3×3 分块图布局。布局的中心有一个包含若干图块的网格,外边缘四周各有一个图块。实际上,该网格不可见,外侧图块也不占用空间,除非您用坐标区或图填充它们。
以下代码将坐标区 ax
放置在网格的第三个图块中。
ax.Layout.Tile = 3;
要使坐标区占据多个图块,请将 TileSpan
属性指定为二元素向量。例如,此坐标区占据了 2
行和 3
列的图块。
ax.Layout.TileSpan = [2 3];
要将坐标区放置在四周的某个图块中,请将 Tile
属性指定为 'north'
、'south'
、'east'
或 'west'
。例如,将值设置为 'east'
会将坐标区放置在网格右侧的图块中。
ax.Layout.Tile = 'east';
要将坐标区放入 App 内的布局中,请将此属性指定为 GridLayoutOptions
对象。有关在 App 中使用网格布局的详细信息,请参阅 uigridlayout
。
如果此坐标区不是分块图布局或网格布局的子级(例如,如果它是图窗或面板的子级),则此属性为空且不起作用。
交互性
Toolbar
— 数据探索工具栏
AxesToolbar
对象
数据探索工具栏,指定为 AxesToolbar
对象。将鼠标悬停在地理坐标区上时,工具栏会显示在坐标区的右上角。通过工具栏可快速访问数据探索工具,如缩放、还原视图和数据提示。
如果您不希望在将鼠标悬停在地理坐标区上时显示工具栏,请将 AxesToolbar
对象的 Visible
属性设置为 'off'
。有关 AxesToolbar
对象属性的详细信息,请参阅 AxesToolbar 属性。
示例: gx.Toolbar.Visible = 'off'
Interactions
— 交互
由交互对象组成的数组 | []
交互,指定为 PanInteraction
、ZoomInteraction
或 DataTipInteraction
对象组成的数组或指定为空数组。可以通过手势在图中使用您指定的交互。您不必选择任何坐标区工具栏按钮即可使用它们。例如,可以通过 PanInteraction
对象在图中拖动以进行平移。有关交互对象的列表,请参阅对图的交互进行控制。
默认情况下,地理坐标区内的图支持平移、缩放和数据提示交互。您可以将默认集替换为新的交互集,但不能访问或修改默认集中的任何交互。例如,以下代码用 PanInteraction
和 ZoomInteraction
对象替换默认交互集。
gx = gca; gx.Interactions = [panInteraction zoomInteraction];
要暂时禁用当前交互集,请调用 disableDefaultInteractivity
函数。您可以通过调用 enableDefaultInteractivity
函数来重新启用它们。要从坐标区中删除所有鼠标交互,请将此属性设置为空数组。
Visible
— 可见性状态
'on'
(默认) | on/off 逻辑值
可见性状态,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 显示坐标区及其子级。'off'
- 隐藏坐标区而不删除它。您仍然可以访问不可见坐标区对象的属性。
注意
当 Visible
属性为 'off'
时,坐标区对象不可见,但线条等子对象仍然可见。
CurrentPoint
— 鼠标指针的位置
2×3 数组
此 属性 为只读。
鼠标指针的位置,指定为以下形式的 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
— 上下文菜单
空 GraphicsPlaceholder
数组 (默认) | ContextMenu
对象
上下文菜单,指定为 ContextMenu
对象。使用此属性在您右键点击对象时显示上下文菜单。使用 uicontextmenu
函数创建上下文菜单。
注意
如果 PickableParts
属性设置为 'none'
或者 HitTest
属性设置为 'off'
,该上下文菜单将不显示。
Selected
— 选择状态
'off'
(默认) | on/off 逻辑值
选择状态,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 已选择。如果您在绘图编辑模式下点击对象,则 MATLAB 会将其Selected
属性设置为'on'
。如果SelectionHighlight
属性也设置为'on'
,则 MATLAB 将在对象周围显示选择句柄。'off'
- 未选择。
SelectionHighlight
— 是否显示选择句柄
'on'
(默认) | on/off 逻辑值
选择时显示选择句柄,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 在Selected
属性设置为'on'
时显示选择句柄。'off'
- 永远不显示选择句柄,即使Selected
属性设置为'on'
也是如此。
回调
ButtonDownFcn
— 鼠标点击回调
''
(默认) | 函数句柄 | 元胞数组 | 字符向量
鼠标点击回调,指定为下列值之一:
函数句柄
元胞数组,包含一个函数句柄和其他参数
作为有效 MATLAB 命令或函数(在基础工作区中计算)的字符向量(不推荐)
使用此属性在您点击对象时执行代码。如果使用函数句柄指定此属性,则 MATLAB 在执行回调时将向回调函数传递两个参数:
点击的对象 - 从回调函数中访问点击的对象的属性。
事件数据 - 空参数。在函数定义中将其替换为波浪号字符 (
~
) 以指示不使用此参数。
有关如何使用函数句柄定义回调函数的详细信息,请参阅Create Callbacks for Graphics Objects。
注意
如果 PickableParts
属性设置为 'none'
或者 HitTest
属性设置为 'off'
,则不执行此回调。
CreateFcn
— 创建函数
''
(默认) | 函数句柄 | 元胞数组 | 字符向量
对象创建函数,指定为下列值之一:
函数句柄。
第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参数。
包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。
有关将回调指定为函数句柄、元胞数组或字符向量的详细信息,请参阅Create Callbacks for Graphics Objects。
此属性指定要在 MATLAB 创建对象时执行的回调函数。MATLAB 将在执行 CreateFcn
回调之前初始化所有属性值。如果不指定 CreateFcn
属性,则 MATLAB 执行默认的创建函数。
对现有组件设置 CreateFcn
属性没有任何作用。
如果将此属性指定为函数句柄或元胞数组,则可以使用回调函数的第一个参数访问正在创建的对象。否则,使用 gcbo
函数访问该对象。
DeleteFcn
— 删除函数
''
(默认) | 函数句柄 | 元胞数组 | 字符向量
对象删除函数,指定为下列值之一:
函数句柄。
第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参数。
包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。
有关将回调指定为函数句柄、元胞数组或字符向量的详细信息,请参阅Create Callbacks for Graphics Objects。
此属性指定在 MATLAB 删除对象时要执行的回调函数。MATLAB 在销毁对象的属性之前执行 DeleteFcn
回调。如果不指定 DeleteFcn
属性,则 MATLAB 执行默认的删除函数。
如果将此属性指定为函数句柄或元胞数组,则可以使用回调函数的第一个参数访问要删除的对象。否则,使用 gcbo
函数访问该对象。
回调执行控件
Interruptible
— 回调中断
'on'
(默认) | on/off 逻辑值
回调中断,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
此属性确定是否可以中断运行中回调。有以下两种回调状态要考虑:
运行中回调是当前正在执行的回调。
中断回调是试图中断运行中回调的回调。
每次执行处理回调队列的命令时,MATLAB 都会确定回调中断行为。这些命令包括 drawnow
、figure
、uifigure
、getframe
、waitfor
和 pause
。
如果运行中回调不包含上述命令之一,则不会发生中断。MATLAB 首先完成执行运行中回调,然后执行中断回调。
如果运行中回调确实包含上述命令之一,则由运行中回调所属对象的 Interruptible
属性来确定是否发生中断:
如果
Interruptible
的值为'off'
,则不会发生中断。此时,由中断回调所属对象的BusyAction
属性确定中断回调是被丢弃还是添加到回调队列中。如果
Interruptible
的值为'on'
,则发生中断。下次 MATLAB 处理回调队列时,它会停止运行中回调的执行,并执行中断回调。在中断回调完成后,MATLAB 将继续执行运行中回调。
注意
回调的中断和执行在以下情况下会有不同的表现:
如果中断回调是
DeleteFcn
、CloseRequestFcn
或SizeChangedFcn
回调,则无论是否存在Interruptible
属性值都会发生中断。如果运行中回调当前正在执行
waitfor
函数,则无论是否存在Interruptible
属性值都会发生中断。如果中断回调由
Timer
对象所有,则回调将根据调度执行,而不考虑Interruptible
属性值。
BusyAction
— 回调排队
'queue'
(默认) | 'cancel'
回调排队,指定为 'queue'
或 'cancel'
。BusyAction
属性决定 MATLAB 如何处理中断回调的执行。有以下两种回调状态要考虑:
运行中回调是当前正在执行的回调。
中断回调是试图中断运行中回调的回调。
BusyAction
属性仅在同时满足以下两个条件时才确定回调排队行为:
在这些情况下,由中断回调所属对象的 BusyAction
属性确定 MATLAB 如何处理中断回调。以下是 BusyAction
属性的可能值:
'queue'
- 将中断回调放入队列中,以便在运行中回调执行完毕后进行处理。'cancel'
- 不执行中断回调。
PickableParts
— 捕获鼠标点击的能力
'visible'
(默认) | 'all'
| 'none'
捕获鼠标点击的能力,指定为以下值之一:
'visible'
- 仅当对象可见时才捕获鼠标点击。Visible
属性必须设置为'on'
。HitTest
属性决定是GeographicAxes
对象响应点击还是前代响应点击。'all'
- 无论是否可见都捕获鼠标点击。Visible
属性可以设置为'on'
或'off'
。HitTest
属性决定是GeographicAxes
对象响应点击还是前代响应点击。'none'
- 无法捕获鼠标点击。点击GeographicAxes
对象会将点击操作传递给图窗窗口的当前视图中该对象下面的对象,通常是坐标区或图窗。HitTest
属性没有任何作用。
如果希望某个对象在其位于其他不需要点击的对象下方时可点击,请将其他对象的 PickableParts
属性设置为 'none'
以使点击穿过它们。
HitTest
— 响应捕获的鼠标点击
'on'
(默认) | on/off 逻辑值
对捕获的鼠标点击的响应,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 触发GeographicAxes
对象的ButtonDownFcn
回调。如果您已定义ContextMenu
属性,则调用上下文菜单。'off'
- 触发满足以下条件之一的GeographicAxes
对象的最近前代的回调:HitTest
属性设置为'on'
PickableParts
属性所设置的值允许前代捕获鼠标点击
注意
PickableParts
属性决定 GeographicAxes
对象是否可以捕获鼠标点击。如果无法捕获,则 HitTest
属性没有任何作用。
BeingDeleted
— 删除状态
on/off 逻辑值
此 属性 为只读。
删除状态,以 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值形式返回。
当 DeleteFcn
回调开始执行时,MATLAB 会将 BeingDeleted
属性设置为 'on'
。BeingDeleted
属性将一直保持 'on'
设置状态,直到组件对象不再存在为止。
在查询或修改对象之前,请先检查其 BeingDeleted
属性的值,以确认它不是待删除项。
父级/子级
Parent
— 父容器
Figure
对象 | Panel
对象 | Tab
对象 | TiledChartLayout
对象 | GridLayout
对象
父容器,指定为 Figure
、Panel
、Tab
、TiledChartLayout
或 GridLayout
对象。
Children
— 子级
空 GraphicsPlaceholder
数组 | 图形对象数组
子级,以图形对象数组形式返回。使用该属性可查看子级列表,或重新排列子级顺序(通过将该属性设置为自身的置换来完成)。
不能使用 Children
属性添加或删除子级。要向此列表中添加子级,请将子图形对象的 Parent
属性设置为 GeographicAxes
对象。
HandleVisibility
— 对象句柄的可见性
'on'
(默认) | 'off'
| 'callback'
父级的 Children
属性中对象句柄的可见性,指定为下列值之一:
'on'
- 对象句柄始终可见。'off'
- 对象句柄始终不可见。该选项用于防止另一函数无意中对其进行更改。将HandleVisibility
设置为'off'
可在执行该函数时暂时隐藏句柄。'callback'
- 对象句柄在回调或回调所调用的函数中可见,但在从命令行调用的函数中不可见。此选项阻止通过命令行访问对象,但允许回调函数访问对象。
如果父级的 Children
属性中未列出该对象,则通过搜索对象层次结构或查询句柄属性获取对象句柄的函数无法返回该对象。此类函数的示例包括 get
、findobj
、gca
、gcf
、gco
、newplot
、cla
、clf
和 close
函数。
隐藏的对象句柄仍有效。将根 ShowHiddenHandles
属性设置为 'on'
以列出所有对象句柄,而不管其 HandleVisibility
属性设置如何。
标识符
Type
— 图形对象的类型
'geoaxes'
(默认)
此 属性 为只读。
图形对象的类型,以 'geoaxes'
形式返回。
Tag
— 对象标识符
''
(默认) | 字符向量 | 字符串标量
对象标识符,指定为字符向量或字符串标量。您可以指定唯一的 Tag
值作为对象的标识符。如果需要访问您代码中其他位置的对象,可以使用 findobj
函数基于 Tag
值搜索对象。
UserData
— 用户数据
[]
(默认) | 数组
用户数据,指定为任何 MATLAB 数组。例如,您可以指定标量、向量、矩阵、元胞数组、字符数组、表或结构体。使用此属性存储对象上的任意数据。
如果您在 App 设计工具中工作,请在该 App 中创建公共或私有属性以共享数据,而不是使用 UserData
属性。有关详细信息,请参阅在用 App 设计工具创建的 App 内共享数据。
版本历史记录
在 R2018b 中推出R2022b: 当 NextPlot
为 'replace'
时,向地理坐标区添加新绘图不会重置底图
当 NextPlot
属性的值为 'replace'
时,添加新绘图不会重置 Basemap
属性。因此,当您使用 geoplot
和 geoscatter
等函数绘制到地理坐标区时,MATLAB 不会重置底图。在 R2022a 及更早版本中,添加新绘图时底图会重置。
因此,您可以指定底图,然后可视化数据,而无需在命令之间使用 hold
函数。例如,以下代码使用 streets
底图创建地图。然后,它会在底图上显示绘图。在 R2022b 中,底图不会重置。在 R2022a 及更早版本中,底图重置为默认值 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*")
此更改不影响用于将命令之间的 hold
状态设置为 "on"
的现有代码。
要在添加新绘图时重置底图,请在创建绘图之前使用 cla
函数的 cla reset
语法。例如,要更新上述代码,请在对 geobasemap
和 geoplot
的调用之间使用 cla reset
。
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*")
您也可以使用 geobasemap
函数将底图更改为默认值 streets-light
。有关更改地理坐标区底图的详细信息,请参阅访问用于地理坐标区和地理图的底图。
R2020a: 不推荐使用 ActivePositionProperty
不推荐设置或获取 ActivePositionProperty
。请改用 PositionConstraint
属性。
目前没有删除 ActivePositionProperty
的计划,但当您对坐标区调用 set
、get
或 properties
函数时,该属性不再列出。
要更新代码,请进行以下更改:
将
ActivePositionProperty
的所有实例替换为PositionConstraint
。将所有对
'position'
选项的引用替换为'innerposition'
选项。
R2020a: 不推荐使用 UIContextMenu
属性
从 R2020a 开始,不推荐使用 UIContextMenu
属性将上下文菜单分配给图形对象或 UI 组件。请改用 ContextMenu
属性。属性值是相同的。
目前没有停止支持 UIContextMenu
属性的计划。但是,UIContextMenu
属性将不再出现在对图形对象或 UI 组件调用 get
函数时所返回的列表中。
R2019b: 更改 ColorOrder
或 LineStyleOrder
会立即影响现有绘图
如果在坐标区中绘图之后更改坐标区的 ColorOrder
或 LineStyleOrder
属性,绘图中的颜色和线型会立即更新。在 R2019a 和以前的版本中,新的颜色和线型仅影响后续绘图,而不影响现有绘图。
为保留原始行为,请在更改 ColorOrder
或 LineStyleOrder
属性之前将坐标区 ColorOrderIndex
或 LineStyleOrderIndex
属性设置为任意值(例如设置为当前值)。
R2019b: ColorOrder
和 LineStyleOrder
的索引方案可能会更改绘图颜色和线型
您可以使用新的索引方案设置 ColorOrder
或 LineStyleOrder
属性,从而更改现有绘图的颜色和线型。MATLAB 将此索引方案应用于具有 ColorMode
、FaceColorMode
、MarkerFaceColorMode
或 CDataMode
的所有对象。因此,您的代码生成的绘图循环使用的颜色和线型可能与在以前的版本中不同。
在 R2019a 及更早版本中,MATLAB 使用不同的索引方案,该索引方案不允许更改现有绘图的颜色。
为保留绘图循环使用颜色和线型的方式,请在坐标区中绘图之前将坐标区 ColorOrderIndex
或 LineStyleOrderIndex
属性设置为任意值(例如设置为当前值)。
MATLAB 命令
您点击的链接对应于以下 MATLAB 命令:
请在 MATLAB 命令行窗口中直接输入以执行命令。Web 浏览器不支持 MATLAB 命令。
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)