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