GeographicRuler 属性
GeographicRuler
属性控制 GeographicAxes
中纬度轴和经度轴的外观和行为。每个单独的轴是一个 GeographicRuler
对象。通过更改标尺的属性值,您可以修改特定轴的某些方面。
对于某些标尺属性,您可以通过设置地理坐标区上的属性(而不是设置每个单独标尺的属性),来自定义两个标尺(纬度轴和经度轴)的外观。例如,使用 GeographicRuler
属性,您可以为每个标尺指定不同颜色。通常,使用 GeographicAxes
属性指定两个标尺的颜色更好、更简单,并且能保持标尺的外观一致。
使用圆点表示法来引用标尺属性。通过 GeographicAxes
对象的 LatitudeAxis
或 LongitudeAxis
属性访问标尺对象。
% Create a GeographicAxes. gx = geoaxes; % View GeographicRuler object. latruler = gx.LatitudeAxis latruler = GeographicRuler with properties: Limits: [-85.0511 85.0511] TickValues: [-75 -45 0 45 75] TickLabelFormat: 'dms' Show all properties
外观
Limits
— 最小和最大坐标轴范围
[min max]
形式的二元素向量
最小和最大坐标轴范围,指定为 [min max]
形式的二元素向量。Limits
是只读属性。
要设置 GeographicAxes
的范围,请使用 geolimits
函数。
注意
纬度和经度 GeographicRuler
对象的 Limits
属性始终分别与父 GeographicAxes
对象的 LatitudeLimits
属性和 Longitudelimits
属性具有相同的值。
示例: latlim = gx.LatitudeAxis.Limits;
Color
— 轴线和标签的颜色
[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" |
注意
设置父 GeographicAxes
的 AxisColor
属性会将 GeographicRuler
对象的 Color
属性设置为相同的值。这些标尺对象与 GeographicAxes
的 LatitudeAxis
和 LongitudeAxis
属性相关联。但是,设置这些 GeographicRuler
属性不会设置 GeographicAxes
属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。
示例: gx.LatitudeAxis.Color = 'b'
示例: gx.LatitudeAxis.Color = 'blue'
示例: gx.LatitudeAxis.Color = [0.1 0.7 0.8];
示例: gx.LatitudeAxis.Color = '#0000FF';
LineWidth
— 轴线和刻度线的宽度
0.5
(默认) | 正值
轴线和刻度线的宽度,指定为以磅为单位的正值。一磅等于 1/72 英寸。
注意
设置父 GeographicAxes
的 LineWidth
属性会将 GeographicRuler
对象的 LineWidth
属性设置为相同的值。这些标尺对象与 GeographicAxes
的 LatitudeAxis
和 LongitudeAxis
属性相关联。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。
示例: gx.LatitudeAxis.LineWidth = 2;
Label
— 轴标签
Text
对象
轴标签,指定为 Text
对象。
要更改现有文本,请设置 Text
对象的 String
属性。要更改标签外观,例如字体大小或颜色,请设置其他属性。有关完整列表,请参阅 Text 属性。
例如,创建一个地理坐标区对象。将纬度轴标签的字符串属性设置为 'Latitude Axis'
,将经度轴标签的字体大小设置为 16
。
gx = geoaxes;
gx.LatitudeAxis.Label.String = 'Latitude Axis';
gx.LongitudeAxis.Label.FontSize = 16;
注意
文本对象不是标尺对象的子级,因此无法由
findobj
返回,而且它也不使用默认的文本属性值。存储在此属性中的文本对象与存储在父对象的标签属性中的文本对象相同。因此,可以使用标尺或父对象的属性来修改文本对象。例如,设置存储在纬度轴标尺的
Label
属性中的文本对象的字体大小,等效于设置存储在父坐标区的LatitudeLabel
属性中的文本对象的字体大小。
LabelHorizontalAlignment
— 轴标签水平对齐
'center'
(默认) | 'left'
| 'right'
轴标签水平对齐,指定为表中的值之一。
LabelHorizontalAlignment 值 | 描述 | 外观 |
---|---|---|
'center' | 对于水平轴,标签位于图框的左右边缘之间的中间位置。 对于垂直轴,标签位于图框的上下边缘之间的中心位置。 |
|
'left' | 对于水平轴,标签与图框的左边缘对齐。 对于垂直轴,标签与图框的下边缘对齐。 |
|
'right' | 对于水平轴,标签与图框的右边缘对齐。 对于垂直轴,标签与图框的上边缘对齐。 |
|
Visible
— 轴标尺可见性
'on'
(默认) | on/off 逻辑值
轴标尺可见性,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 显示轴标尺。'off'
- 隐藏轴标尺而不删除它。您仍可以使用标尺对象访问不可见轴标尺的属性。
示例: gx.LatitudeAxis.Visible = 'off';
刻度值和标签
TickValues
— 轴的刻度线位置
由递增值组成的向量
坐标轴上的刻度线位置,指定为由递增值组成的向量。
如果您为此属性赋值,则 MATLAB 会将 TickValuesMode
属性设置为 'manual'
。
示例: gx.LatitudeAxis.TickValues = [-15 -10 0 10 15];
示例: gx.LongitudeAxis.TickValues = 0:10:100;
TickValuesMode
— TickValues
属性的选择模式
'auto'
(默认) | 'manual'
TickValues
属性的选择模式,指定为下列值之一:
'auto'
- 根据地图的范围和坐标区的位置(大小)自动选择刻度值。'manual'
- 使用您指定的刻度值。要指定值,请设置TickValues
属性。
TickLabels
— 刻度线标签
字符向量元胞数组 | 字符串数组
刻度线标签,指定为字符向量元胞数组或字符串数组。如果您没有为所有刻度值指定足够多的标签,将会重复使用标签。标签支持 TeX 和 LaTeX 标记。有关详细信息,请参阅 TickLabelInterpreter
属性。
示例: gx.TickValues = [-66.5 -23.5 0 23.5 66.5];
gx.LatitudeAxis.TickLabels = {'Antarctic Circle','Tropic of Capricorn','Equator','Tropic of Cancer','Artic Circle'};
如果您设置此属性,MATLAB 会将 TickLabelsMode
属性设置为 'manual'
。
数据类型: char
| string
TickLabelsMode
— TickLabels
属性的选择模式
'auto'
(默认) | 'manual'
TickLabels
属性的选择模式,指定为下列值之一:
'auto'
- 自动选择刻度标签。'manual'
- 使用您指定的刻度标签。要指定标签,请设置TickLabels
属性。
TickLabelColor
— 刻度标签颜色
[0.15 0.15 0.15]
(默认) | RGB 三元组 | 十六进制颜色代码 | 'r'
| 'g'
| 'b'
| ...
刻度标签颜色,指定为 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" |
注意
设置标尺的 Color
属性也会将 TickLabelColor
属性设置为相同的值。但是,设置 TickLabelColor
属性不会更改 Color
属性。为了防止 Color
属性值覆盖 TickLabelColor
属性值,请先设置 Color
属性,然后设置 TickLabelColor
属性。
TickLabelInterpreter
— 刻度标签中字符的解释
'tex'
(默认) | 'latex'
| 'none'
刻度标签中字符的解释,指定为下列值之一:
'tex'
- 使用 TeX 标记子集解释字符。'latex'
- 使用 LaTeX 标记解释字符。'none'
- 显示字面字符。
有关这些解释器的详细信息,请参阅 Text 属性 参考页上的 Interpreter
属性。
示例: gx.LatitudeAxis.TickLabelInterpreter = 'latex';
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" |
您也可以使用 geotickformat
函数指定刻度标签格式。
注意
设置父 GeographicAxes
的 TickLabelFormat
属性会将 GeographicRuler
对象的 TickLabelFormat
属性设置为相同的值。这些标尺对象与 GeographicAxes
的 LatitudeAxis
和 LongitudeAxis
属性相关联。但是,设置任一标尺属性都不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。
示例: gx.LatitudeAxis.TickLabelFormat = 'dd';
TickLabelRotation
— 刻度标签旋转
以度为单位的标量值
刻度标签旋转,指定为以度为单位的标量值。正值将导致按逆时针旋转。负值产生顺时针旋转。例如,指定 gx.LatitudeAxis.TickLabelRotation = 45;
会将刻度标签按逆时针方向旋转 45 度。
如果您为此属性赋值,则 MATLAB 会将 TickLabelRotation
属性设置为 'manual'
。
示例: gx.LatitudeAxis.TickLabelRotation = -45;
TickLabelRotationMode
— TickLabelRotation
属性的选择模式
'auto'
(默认) | 'manual'
TickLabelRotation
属性的选择模式,指定为下列值之一:
'auto'
- 对象自动选择刻度标签旋转方式。'manual'
- 使用您指定的刻度标签旋转方式。要指定旋转方式,请设置TickLabelRotation
属性。
TickDirection
— 刻度线方向
'in'
(默认) | 'out'
| 'both'
| 'none'
刻度线方向,指定为下列值之一:
'in'
- 刻度线从轴线指向内部。这是二维视图的默认值。'out'
- 刻度线从轴线指向外部。这是三维视图的默认值。'both'
- 刻度线以轴线为中心。'none'
- 不显示任何刻度线。
如果您为此属性赋值,则 MATLAB 会将 TickDirectionMode
属性设置为 'manual'
。
注意
设置父坐标区的 TickDir
属性会将标尺的 TickDirection
属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。
TickDirectionMode
— TickDirection
属性的选择模式
'auto'
(默认) | 'manual'
TickDirection
属性的选择模式,指定为下列值之一:
'auto'
- 自动选择刻度方向。'manual'
- 使用您指定的刻度方向。要指定刻度方向,请设置TickDirection
属性。
TickLength
— 刻度线长度
二元素向量
刻度线长度,指定为 [length unused]
形式的二元素向量。(GeographicRuler
对象使用一个二元素向量来与其他标尺对象中此属性的值保持一致。)第一个元素是刻度线长度。指定值时采用的是以坐标区最长维度为基准的归一化单位。
注意
设置父 GeographicAxes
的 TickLength
属性会将 GeographicRuler
对象的 TickLength
属性设置为相同的值。GeographicRuler
对象与 LatitudeAxis
和 LongitudeAxis
相关联。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。
示例: gx.LatitudeAxis.TickLength = [0.04 0];
字体
FontName
— 字体名称
系统支持的字体名称 | 'FixedWidth'
字体名称,指定为系统支持的字体名称或 'FixedWidth'
。默认字体取决于特定的操作系统和区域设置。要使用在任何区域设置中都有较好显示效果的等宽字体,请指定 'FixedWidth'
。使用的实际等宽字体取决于根对象的 FixedWidthFontName
属性。
注意
设置父坐标区的 FontName
属性会将 GeographicRuler
对象的 FontName
属性设置为相同的值。GeographicRuler
对象与 LatitudeAxis
和 LongitudeAxis
相关联。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。
示例: gx.LatitudeAxis.FontName = 'Cambria';
FontSize
— 字体大小
数值标量
字体大小,指定为数值标量。默认字体大小取决于具体操作系统和区域设置。
注意
设置父坐标区的
FontSize
属性会将GeographicRuler
对象的FontSize
属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止坐标区属性值覆盖标尺属性值,请先设置坐标区值,然后设置标尺值。在标尺上设置
FontSize
属性会更改刻度标签的大小。MATLAB 还会使用父坐标区的LabelFontSizeMultiplier
更新对应坐标区标签的字体大小。例如,将纬度轴标尺的字体大小设置为 12 会将父坐标区的LatitudeLabel
属性的字体大小设置为LabelFontSizeMultiplier
属性值的 12 倍。
示例: gx.LatitudeAxis.FontSize = 12;
FontWeight
— 文本字符的粗细
'normal'
(默认) | 'bold'
文本字符的粗细,指定为下列值之一:
'normal'
- 特定字体定义的默认粗细。'bold'
- 字符轮廓比普通字符粗。
MATLAB 使用 FontWeight
属性从系统提供的字体中选择一种字体。并非所有字体都有加粗字体。因此,指定加粗字体仍可能得到普通字体。
注意
设置父坐标区的 FontWeight
属性会将 GeographicRuler
对象的 FontWeight
属性设置为相同的值。GeographicRuler
对象与 LatitudeAxis
和 LongitudeAxis
属性相关联。但是,设置标尺属性不会设置坐标区属性。要防止轴属性值覆盖标尺属性值,请先设置轴值,然后设置标尺值。
示例: gx.LatitudeAxis.FontWeight = 'bold';
FontAngle
— 文本字符倾斜
'normal'
(默认) | 'italic'
字符倾斜,指定为 'normal'
或 'italic'
。并非所有字体都有两种字体样式。因此,斜体可能看上去与常规字体一样。
注意
设置父坐标区的 FontAngle
属性会将 LatitudeAxis
和 LongitudeAxis
这两者的 GeographicRuler
对象的 FontAngle
属性设置为相同的值。但是,设置标尺属性不会设置坐标区属性。要防止轴属性值覆盖标尺属性值,请先设置轴值,然后设置标尺值。
示例: gx.LatitudeAxis.FontAngle = 'italic';
FontSmoothing
— 字符平滑处理
'on'
(默认) | on/off 逻辑值
字符平滑处理,指定为 'on'
或 'off'
,或者指定为数值或逻辑值 1
(true
) 或 0
(false
)。值 'on'
等效于 true
,'off'
等效于 false
。因此,您可以使用此属性的值作为逻辑值。该值存储为 matlab.lang.OnOffSwitchState
类型的 on/off 逻辑值。
'on'
- 使用消除锯齿功能,以改善文本字符的锯齿状外观并使文本更易于阅读。在某些情况下,经过平滑处理的文本在背景色下会产生模糊效果。'off'
- 不使用消除锯齿功能。在文本看似模糊时使用此设置。
示例: gx.LatitudeAxis.FontSmoothing = 'off';
注意
FontSmoothing
属性在以后的版本中将不起作用。无论该属性的值如何,都将启用字体平滑处理。
回调
LimitsChangedFcn
— 坐标轴范围更改后执行的回调
''
(默认) | 函数句柄 | 元胞数组 | 字符向量
坐标轴范围更改后执行的回调,指定为下列值之一:
函数句柄。
第一个元素是函数句柄的元胞数组。元胞数组中的后续元素是传递到回调函数的参数。
包含有效 MATLAB 表达式的字符向量(不推荐)。MATLAB 在基础工作区计算此表达式。
此回调在坐标轴范围更改后执行,或以编程方式执行,或作为交互的结果(例如在坐标区内平移)。当您调用绘图函数时,如果 MATLAB 更改了坐标轴范围,也会执行此回调。绘图函数有时会更改坐标轴范围以涵盖您的数据范围。
此回调函数可以访问有关轴范围的特定信息。MATLAB 在 LimitsChangedData
对象中将此信息作为第二个参数传递给回调函数。如果您在 App 设计工具中开发 App,该参数称为 event
。您可以使用圆点表示法查询对象属性。例如,event.NewLimits
返回新坐标轴范围。LimitsChangedData
对象不可用于指定为字符向量的回调函数。
下表列出了 LimitsChangedData
对象的属性。
属性 | 描述 |
---|---|
Source | 执行回调的标尺对象 |
EventName |
|
OldLimits | 包含先前坐标轴范围的二元素向量 |
NewLimits | 包含新坐标轴范围的二元素向量 |
有关在 App 中编写回调的详细信息,请参阅App 设计工具中的回调。
父级/子级
Parent
— 标尺的父级
Axes
对象
标尺的父级,指定为 Axes
对象。
注意
标尺对象未在父级 Axes
对象的 Children
属性中列出。
Children
— 标尺的子级
空 GraphicsPlaceholder
数组
标尺没有任何子级。您不能设置该属性。
版本历史记录
在 R2019a 中推出R2022a: FontSmoothing
属性在以后的版本中将不起作用
FontSmoothing
属性在以后的版本中将不起作用。无论该属性的值如何,都将启用字体平滑处理。
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)