Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

geoplot

在地理坐标中绘制线条

自 R2018b 起

  • Plot line in geographic coordinates

说明

向量数据

示例

geoplot(lat,lon) 在地理坐标区中绘制一个线条,其顶点位于 latlon 所指定的经纬度位置(以度为单位)。latlon 输入的大小必须相同。默认情况下,geoplot 使用地理坐标区对象的 ColorOrder 属性指定的颜色绘制一条不带标记的实线。

示例

geoplot(lat,lon,LineSpec) 设置线条的线型、标记符号和颜色。

geoplot(lat1,lon1,...,latN,lonN) 将几组经纬度位置指定的图合并。

示例

geoplot(lat1,lon1,LineSpec1,...,latN,lonN,LineSpecN) 将几组经纬度位置指定的图合并,每个线条有单独的 LineSpec

表数据

示例

geoplot(tbl,latvar,lonvar) 绘制表 tbl 中的变量 latvarlonvar。要绘制一个数据集,请为 latvar 指定一个变量,为 lonvar 指定一个变量。要绘制多个数据集,请为 latvarlonvar 或两者指定多个变量。如果两个参数都指定多个变量,它们指定的变量数目必须相同。(自 R2022b 开始提供)

其他选项

geoplot(gx,___)gx 指定的地理坐标区(而不是当前坐标区)中绘图。

示例

geoplot(___,Name,Value) 使用一个或多个名称-值参数指定图形线条的属性。

h = geoplot(___) 返回由图形线条对象组成的列向量。每个对象对应于一条绘制的线。使用 h 修改图形线条对象的属性。

注意

Mapping Toolbox™ 扩展了 geoplot (MATLAB®) 函数的功能。它增加了对在任何受支持的地理或投影坐标参考系 (CRS) 中显示具有坐标的点、线和多边形的支持。有关 geoplot (Mapping Toolbox) 的参考页,请参阅 geoplot (Mapping Toolbox)

示例

全部折叠

在地图上的两个点之间绘制一条直线。使用西雅图和安克雷奇的坐标指定线的端点。以度为单位指定纬度和经度。

latSeattle = 47.62;
lonSeattle = -122.33;
latAnchorage = 61.20;
lonAnchorage = -149.9;

在地图上绘制数据。使用线条设定 'g-*' 自定义线条外观。使用 geolimits 调整地图的纬度和经度范围。

geoplot([latSeattle latAnchorage],[lonSeattle lonAnchorage],'g-*')
geolimits([45 62],[-149 -123])

在地图上的两个点之间绘制一条直线。使用西雅图和安克雷奇的坐标指定线的端点。以度为单位指定纬度和经度。

latSeattle = 47.62;
lonSeattle = -122.33;
latAnchorage = 61.20;
lonAnchorage = -149.9;

使用 geoplot 绘制数据。使用线条设定 'g-*' 自定义线条外观。使用 geolimits 调整地图的纬度和经度范围。

geoplot([latSeattle latAnchorage],[lonSeattle lonAnchorage],'g-*')
geolimits([45 62],[-149 -123])

使用 text 函数标识安克雷奇。

text(latAnchorage,lonAnchorage,'Anchorage');

使用 text 函数标识西雅图。通过指定 Text 对象的属性来调整文本标签的对齐。

text(latSeattle,lonSeattle,'Seattle',...
    'HorizontalAlignment','right',...
    'VerticalAlignment','bottom');

指定西雅图、安克雷奇和巴罗角的纬度和经度坐标。

latSeattle = 47.62;
lonSeattle = -122.33;

latAnchorage = 61.20;
lonAnchorage = -149.9;

latPtBarrow = 71.38;
lonPtBarrow = -156.47;

绘制从西雅图到其他两个城市的直线。绘制一条从西雅图到安克雷奇的黄色实线,再绘制一条从西雅图到巴罗角的蓝色虚线。使用 geolimits 调整地图的纬度和经度范围。

geoplot([latSeattle latAnchorage],[lonSeattle lonAnchorage],'y-',...
    [latSeattle latPtBarrow],[lonSeattle lonPtBarrow],'b:')
geolimits([44 73],[-149 -123])

使用 text 函数在地图上标记每个城市。

text(latAnchorage,lonAnchorage,'Anchorage');
text(latPtBarrow,lonPtBarrow,'Point Barrow');
text(latSeattle,lonSeattle,'Seattle',...
    'VerticalAlignment','bottom');

自 R2022b 开始提供

基于表数据绘图的一种便捷方法是将表传递给 geoplot 函数,并指定要绘制的变量。

将一个包含 cyclone 数据的 MAT 文件加载到工作区。使用该数据的一部分创建一个表。该表的变量 LatitudeLongitude 中分别包含纬度和经度坐标。

load cycloneTracks
tbl = cycloneTracks(cycloneTracks.ID == 1320,:);

在地貌底图上绘制纬度和经度坐标。以 h 形式返回 Line 对象。

h = geoplot(tbl,"Latitude","Longitude");
geobasemap topographic

通过设置 MarkerColor 属性来更改绘图的标记样式和颜色。

h.Marker = ".";
h.Color = "m";

Figure contains an axes object. The axes object contains an object of type line.

在地图上的两个点之间绘制一条直线。使用西雅图和安克雷奇的坐标指定线的端点。以度为单位指定纬度和经度。

latSeattle = 47.62;
lonSeattle = -122.33;
latAnchorage = 61.20;
lonAnchorage = -149.9;

使用 geoplot 绘制数据。使用 geolimits 调整地图的纬度和经度范围。通过指定 LineWidthColor 属性来自定义线条的外观。

geoplot([latSeattle latAnchorage],[lonSeattle lonAnchorage],...
    'LineWidth',2,'Color',[.6 0 0])
geolimits([45 62],[-149 -123])

在地图上的西雅图和安克雷奇两座城市之间绘制一条直线。以度为单位指定纬度和经度坐标。

latSeattle = 47.62;
lonSeattle = -122.33;
latAnchorage = 61.20;
lonAnchorage = -149.9;
geoplot([latSeattle latAnchorage],[lonSeattle lonAnchorage])

更改纬度-经度范围和底图。

geolimits([45 62],[-149 -123])
geobasemap colorterrain

Figure contains an axes object. The axes object contains an object of type line.

输入参数

全部折叠

以度为单位的纬度坐标,指定为有限实数数值向量。向量可以包含嵌入的 NaN 值。lat 的大小必须与 lon 相同。

示例: [43.0327 38.8921 44.0435]

数据类型: single | double

以度为单位的经度坐标,指定为有限实数数值向量。向量可以包含嵌入的 NaN 值。lon 的大小必须与 lat 相同。

示例: [-107.5556 -77.0269 -72.5565]

数据类型: single | double

线型、标记和颜色,指定为包含符号的字符串或字符向量。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、标记和颜色)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。

示例: "--or" 是带有圆形标记的红色虚线

线型描述表示的线条
"-"实线

Sample of solid line

"--"虚线

Sample of dashed line

":"点线

Sample of dotted line

"-."点划线

Sample of dash-dotted line, with alternating dashes and dots

标记描述生成的标记
"o"圆圈

Sample of circle marker

"+"加号

Sample of plus sign marker

"*"星号

Sample of asterisk marker

"."

Sample of point marker

"x"叉号

Sample of cross marker

"_"水平线条

Sample of horizontal line marker

"|"垂直线条

Sample of vertical line marker

"square"方形

Sample of square marker

"diamond"菱形

Sample of diamond line marker

"^"上三角

Sample of upward-pointing triangle marker

"v"下三角

Sample of downward-pointing triangle marker

">"右三角

Sample of right-pointing triangle marker

"<"左三角

Sample of left-pointing triangle marker

"pentagram"五角形

Sample of pentagram marker

"hexagram"六角形

Sample of hexagram marker

颜色名称短名称RGB 三元组外观
"red""r"[1 0 0]

Sample of the color red

"green""g"[0 1 0]

Sample of the color green

"blue""b"[0 0 1]

Sample of the color blue

"cyan" "c"[0 1 1]

Sample of the color cyan

"magenta""m"[1 0 1]

Sample of the color magenta

"yellow""y"[1 1 0]

Sample of the color yellow

"black""k"[0 0 0]

Sample of the color black

"white""w"[1 1 1]

Sample of the color white

包含要绘制的数据的源表,指定为表或时间表。

包含纬度坐标的表变量,使用下表中的索引方案之一指定。

索引方案示例

变量名称:

  • 字符串、字符向量或元胞数组。

  • pattern 对象。

  • "A"'A' - 名为 A 的变量

  • ["A","B"]{'A','B'} - 名为 AB 的两个变量

  • "Var"+digitsPattern(1) - 变量名为 "Var" 后跟一个数字

变量索引:

  • 引用变量在表中位置的索引编号。

  • 由数字组成的向量。

  • 逻辑向量。通常,此向量的长度与变量的数目相同,但可以省略尾部的 0false 值。

  • 3 - 表中的第三个变量

  • [2 3] - 表中的第二个和第三个变量

  • [false false true] - 第三个变量

变量类型:

  • vartype 下标,用于选择指定类型的变量。

  • vartype("categorical") - 包含分类值的所有变量

不管变量名称如何,图上的轴标签始终为 Latitude

变量必须包含 singledouble 类型的数值数据。数据必须处于 (-90, 90) 范围中。

如果 latvarlonvar 都指定多个变量,则变量的数目必须相同。

示例: geoplot(tbl,["lat1","lat2"],"lon") 为纬度坐标指定名为 lat1lat2 的表变量。

示例: geoplot(tbl,2,"lon") 指定纬度坐标的第二个变量。

示例: geoplot(tbl,vartype("numeric"),"lon") 指定纬度坐标的所有数值变量。

包含经度坐标的表变量,使用下表中的索引方案之一指定。

索引方案示例

变量名称:

  • 字符串、字符向量或元胞数组。

  • pattern 对象。

  • "A"'A' - 名为 A 的变量

  • ["A","B"]{'A','B'} - 名为 AB 的两个变量

  • "Var"+digitsPattern(1) - 变量名为 "Var" 后跟一个数字

变量索引:

  • 引用变量在表中位置的索引编号。

  • 由数字组成的向量。

  • 逻辑向量。通常,此向量的长度与变量的数目相同,但可以省略尾部的 0false 值。

  • 3 - 表中的第三个变量

  • [2 3] - 表中的第二个和第三个变量

  • [false false true] - 第三个变量

变量类型:

  • vartype 下标,用于选择指定类型的变量。

  • vartype("categorical") - 包含分类值的所有变量

不管变量名称如何,图上的轴标签始终为 Longitude

您指定的变量必须包含 singledouble 类型的数值数据。

如果 latvarlonvar 都指定多个变量,则变量的数目必须相同。

示例: geoplot(tbl,"lat",["lon1","lon2"]) 为经度坐标指定名为 lon1lon2 的表变量。

示例: geoplot(tbl,"lat",2) 指定经度坐标的第二个变量。

示例: geoplot(tbl,"lat",vartype("numeric")) 指定经度坐标的所有数值变量。

目标地理坐标区,指定为 GeographicAxes 对象。 1 您可以通过设置 GeographicAxes 对象的属性来修改其外观和行为。有关属性列表,请参阅 GeographicAxes 属性

名称-值参数

将可选的参数对组指定为 Name1=Value1,...,NameN=ValueN,其中 Name 是参数名称,Value 是对应的值。名称-值参数必须出现在其他参数之后,但参数对组的顺序无关紧要。

在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name 引起来。

示例: h = geoplot(lat,lon,'Color','g')

注意

属性设置适用于绘图中的所有线条。要设置单个线条的属性,请检索 geoplot 返回值 h 中线条的句柄并使用圆点表示法。

下面仅列出了一部分名称-值对组。有关完整列表,请参阅 Line 属性

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

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

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

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

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

颜色名称短名称RGB 三元组十六进制颜色代码外观
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"不适用不适用不适用无颜色

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

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

示例: 'blue'

示例: [0 0 1]

示例: '#0000FF'

线型,指定为下表中列出的选项之一。

线型描述表示的线条
"-"实线

Sample of solid line

"--"虚线

Sample of dashed line

":"点线

Sample of dotted line

"-."点划线

Sample of dash-dotted line, with alternating dashes and dots

"none"无线条无线条

线宽,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。

线宽不能小于像素的宽度。如果将线宽设置为小于系统上像素宽度的值,则线条显示为一个像素的宽度。

标记符号,指定为下表中的标记之一。默认情况下,图形线条没有标记。通过指定标记符号沿该线条上的每个数据点添加标记。

标记描述生成的标记
"o"圆圈

Sample of circle marker

"+"加号

Sample of plus sign marker

"*"星号

Sample of asterisk marker

"."

Sample of point marker

"x"叉号

Sample of cross marker

"_"水平线条

Sample of horizontal line marker

"|"垂直线条

Sample of vertical line marker

"square"方形

Sample of square marker

"diamond"菱形

Sample of diamond line marker

"^"上三角

Sample of upward-pointing triangle marker

"v"下三角

Sample of downward-pointing triangle marker

">"右三角

Sample of right-pointing triangle marker

"<"左三角

Sample of left-pointing triangle marker

"pentagram"五角形

Sample of pentagram marker

"hexagram"六角形

Sample of hexagram marker

"none"无标记不适用

标记填充颜色,指定为 "auto"、RGB 三元组、十六进制颜色代码、颜色名称或短名称。"auto" 选项使用与父坐标区的 Color 属性相同的颜色。如果您指定 "auto",并且坐标区图框不可见,则标记填充颜色为图窗的颜色。

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

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

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

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

颜色名称短名称RGB 三元组十六进制颜色代码外观
"red""r"[1 0 0]"#FF0000"

Sample of the color red

"green""g"[0 1 0]"#00FF00"

Sample of the color green

"blue""b"[0 0 1]"#0000FF"

Sample of the color blue

"cyan" "c"[0 1 1]"#00FFFF"

Sample of the color cyan

"magenta""m"[1 0 1]"#FF00FF"

Sample of the color magenta

"yellow""y"[1 1 0]"#FFFF00"

Sample of the color yellow

"black""k"[0 0 0]"#000000"

Sample of the color black

"white""w"[1 1 1]"#FFFFFF"

Sample of the color white

"none"不适用不适用不适用无颜色

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

RGB 三元组十六进制颜色代码外观
[0 0.4470 0.7410]"#0072BD"

Sample of RGB triplet [0 0.4470 0.7410], which appears as dark blue

[0.8500 0.3250 0.0980]"#D95319"

Sample of RGB triplet [0.8500 0.3250 0.0980], which appears as dark orange

[0.9290 0.6940 0.1250]"#EDB120"

Sample of RGB triplet [0.9290 0.6940 0.1250], which appears as dark yellow

[0.4940 0.1840 0.5560]"#7E2F8E"

Sample of RGB triplet [0.4940 0.1840 0.5560], which appears as dark purple

[0.4660 0.6740 0.1880]"#77AC30"

Sample of RGB triplet [0.4660 0.6740 0.1880], which appears as medium green

[0.3010 0.7450 0.9330]"#4DBEEE"

Sample of RGB triplet [0.3010 0.7450 0.9330], which appears as light blue

[0.6350 0.0780 0.1840]"#A2142F"

Sample of RGB triplet [0.6350 0.0780 0.1840], which appears as dark red

标记大小,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。

输出参数

全部折叠

地理图,以 Line 对象的列向量形式返回。每个对象对应于一条绘制的线。创建对象后,可以使用 h 来修改其属性。

提示

  • Mapping Toolbox 扩展了 geoplot (MATLAB) 函数的功能。它增加了对在任何受支持的地理或投影坐标参考系 (CRS) 中显示具有坐标的点、线和多边形的支持。有关 geoplot (Mapping Toolbox) 的参考页,请参阅 geoplot (Mapping Toolbox)

  • 使用 Mapping Toolbox 函数 geoglobe (Mapping Toolbox)geoplot3 (Mapping Toolbox) 绘制三维地理数据。

  • 当您在地理坐标区上绘图时,geoplot 函数假定坐标参考 WGS84 坐标参考系。如果使用参考不同坐标参考系的坐标进行绘图,则坐标可能会显示为未对齐。

  • 您不能在地理坐标区中绘制需要笛卡尔坐标区的数据。

  • 要在地理坐标区中绘制其他数据,请使用 hold on 命令。

版本历史记录

在 R2018b 中推出

全部展开


1 Alignment of boundaries and region labels are a presentation of the feature provided by the data vendors and do not imply endorsement by MathWorks®.