geoscatter
地理坐标中的散点图
语法
说明
向量数据
表数据
其他选项
geoscatter(
在 ax
,___)ax
指定的地理坐标区或地图坐标区中绘图。将坐标区指定为上述任一语法中的第一个参量。
geoscatter(___,
使用一个或多个名称-值参量指定散点图的属性。有关属性列表,请参阅 Scatter 属性。Name,Value
)
返回 s
= geoscatter(___)Scatter
对象。在创建绘图后,使用 s
设置属性。有关属性的完整列表,请参阅 Scatter 属性。
示例
创建地理散点图
指定波士顿几个位置的经度和纬度坐标。创建一个使用填充标记的散点图。
lat = [42.3501 42.3598 42.3626 42.3668 42.3557];
lon = [-71.0870 -71.0662 -71.0789 -71.0801 -71.0662];
geoscatter(lat,lon,"filled")
通过调整范围缩小绘图。
geolimits([42.3456 42.3694],[-71.0930 -71.0536])
使用具有不同大小和颜色的标记
使用密西西比河沿岸几个点的纬度和经度坐标创建一个散点图。将可选的大小和颜色参量指定为向量。这些颜色值映射到颜色图中的不同颜色。
lat = [32.30 33.92 35.17 36.98 37.69 38.34];
lon = [-91.05 -91.18 -90.09 -89.11 -89.52 -90.37];
A = 100*[5 12 15 3 10 3];
C = [1 2 2 3 1 1];
geoscatter(lat,lon,A,C,"filled")
通过调整绘图的纬度和经度范围来缩小。然后,将底图更改为地形底图。
geolimits([31.60 38.91],[-95.61 -84.27])
geobasemap grayterrain
指定标记符号
指定几个欧洲城市的经度和纬度坐标。创建一个使用品红菱形标记的散点图。
lat = [48.85 51.5 40.41 41.9 52.52 52.36 52.22 47.49 44.42 50.07 48.20 46.94]; lon = [2.35 -0.12 -3.70 12.49 13.40 4.90 21.01 19.04 26.10 14.43 16.37 7.44]; geoscatter(lat,lon,"m","d")
通过调整绘图的纬度和经度范围来缩小。然后,将底图更改为地貌底图。
geolimits([30 60],[-13 43])
geobasemap topographic
更改标记颜色和线条宽度
指定波士顿几个位置的经度和纬度坐标。
lat = [42.3501 42.3598 42.3626 42.3668 42.3557]; lon = [-71.0870 -71.0662 -71.0789 -71.0801 -71.0662];
创建一个散点图并设置标记边颜色、标记面颜色和线条宽度。
geoscatter(lat,lon,70,"MarkerEdgeColor",[0.9290 0.6940 0.1250], ... "MarkerFaceColor",[0.3010 0.7450 0.9330],"LineWidth",2)
通过调整范围缩小绘图。然后,更改底图。
geolimits([42.3456 42.3694],[-71.0930 -71.0536])
geobasemap streets-dark
绘制表中的数据
自 R2022b 开始提供
基于表数据绘图的一种便捷方法是将表传递给 geoscatter
函数,并指定要绘制的变量。
将一个包含郡县数据的文件作为表加载到工作区中。该表的变量 Latitude
和 Longitude
中分别包含纬度和经度坐标。
tbl = readtable("counties.xlsx");
在双色底图上绘制纬度和经度坐标。以 s
形式返回 Scatter
对象。
s = geoscatter(tbl,"Latitude","Longitude"); geobasemap grayland
通过设置 Marker
和 MarkerEdgeColor
属性来更改绘图的标记样式和颜色。
s.Marker = "*"; s.MarkerEdgeColor = "m";
使用自定义颜色和标记大小绘制表数据
自 R2022b 开始提供
绘制表中数据并自定义颜色和标记大小的一种方法是设置 ColorVariable
和 SizeData
属性。您可以在调用 geoscatter
函数时将这些属性设置为名称-值参量,也可以稍后在 Scatter
对象上设置它们。
例如,将一个包含郡县数据的文件作为表加载到工作区中。该表的变量 Latitude
和 Longitude
中分别包含纬度和经度坐标。
tbl = readtable("counties.xlsx");
使用填充标记绘制纬度和经度坐标。以 s
形式返回 Scatter
对象。
s = geoscatter(tbl,"Latitude","Longitude","filled");
通过设置 SizeData
属性,将标记大小更改为 100
磅。
s.SizeData = 100;
通过将 ColorVariable
属性设置为表变量来更改标记颜色。然后添加颜色栏。
s.ColorVariable = "Population2010"; c = colorbar; c.Label.String = "County Population in 2010";
输入参数
lat
— 以度为单位的纬度坐标
由 [–90, 90] 范围内的元素组成的向量
以度为单位的纬度坐标,指定为由 [–90, 90] 范围内的元素组成的向量。向量可以包含 NaN
值。
lat
和 lon
的大小必须匹配。
示例: [43.0327 38.8921 44.0435]
数据类型: single
| double
lon
— 以度为单位的经度坐标
向量
以度为单位的经度坐标,指定为向量。向量可以包含 NaN
值。
lat
和 lon
的大小必须匹配。
示例: [-107.5556 -77.0269 -72.5565]
数据类型: single
| double
A
— 标记大小
36
(默认) | 标量 | 向量 | []
C
— 标记颜色
RGB 三元组 | 由 RGB 三元组组成的三列矩阵 | 向量 | "r"
| "g"
| "b"
| ...
标记颜色,指定为下列选项之一:
RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1]
范围内,例如 [0.4 0.6 0.7]
。此外,还可以按名称指定一些常见的颜色。下表列出长和短颜色名称选项以及对应的 RGB 三元组值。
颜色名称 | 短名称 | RGB 三元组 | 外观 |
---|---|---|---|
"red" | "r" | [1 0 0] | |
"green" | "g" | [0 1 0] | |
"blue" | "b" | [0 0 1] | |
"cyan" | "c" | [0 1 1] | |
"magenta" | "m" | [1 0 1] | |
"yellow" | "y" | [1 1 0] | |
"black" | "k" | [0 0 0] | |
"white" | "w" | [1 1 1] | |
当您指定标记颜色时,geoscatter
函数将 Scatter
对象的 MarkerFaceColor
属性设置为 "flat"
,并将标记颜色存储在 CData
属性中。
示例: "green"
示例: "g"
示例: [0 1 0]
mkr
— 标记符号
"o"
(默认) | "+"
| "*"
| "."
| "x"
| ...
标记符号,指定为以下值之一。
标记 | 描述 | 生成的标记 |
---|---|---|
"o" | 圆圈 |
|
"+" | 加号 |
|
"*" | 星号 |
|
"." | 点 |
|
"x" | 叉号 |
|
"_" | 水平线条 |
|
"|" | 垂直线条 |
|
"square" | 方形 |
|
"diamond" | 菱形 |
|
"^" | 上三角 |
|
"v" | 下三角 |
|
">" | 右三角 |
|
"<" | 左三角 |
|
"pentagram" | 五角形 |
|
"hexagram" | 六角形 |
|
"filled"
— 用于填充标记内部区域的选项
"filled"
用于填充标记内部的选项,指定为 "filled"
。此选项和具有一个面的标记(例如,"o"
或 "square"
)一起使用。此选项不显示没有面而只有边的标记,如 "+"
和 "*"
。
"filled"
选项将 Scatter
对象的 MarkerFaceColor
属性设置为 "flat"
,并将 MarkerEdgeColor
属性设置为 "none"
。因此,此选项显示标记面,而不显示边。
tbl
— 源表
表 | 时间表
包含要绘制的数据的源表,指定为表或时间表。
latvar
— 包含纬度坐标的表变量
字符串数组 | 字符向量 | 元胞数组 | 模式 | 数值标量或向量 | 逻辑向量 | vartype()
包含纬度坐标的表变量,使用下表中的索引方案之一指定。
索引方案 | 示例 |
---|---|
变量名称:
|
|
变量索引:
|
|
变量类型:
|
|
不管变量名称如何,图上的轴标签始终为 Latitude
。
您指定的变量必须包含 single
或 double
类型的数值数据。数据必须处于 (-90, 90) 范围中。
如果 latvar
和 lonvar
都指定多个变量,则变量的数目必须相同。
示例: geoscatter(tbl,["lat1","lat2"],"lon")
为纬度坐标指定名为 lat1
和 lat2
的表变量。
示例: geoscatter(tbl,2,"lon")
指定纬度坐标的第二个变量。
示例: geoscatter(tbl,vartype("numeric"),"lon")
指定纬度坐标的所有数值变量。
lonvar
— 包含经度坐标的表变量
字符串数组 | 字符向量 | 元胞数组 | 模式 | 数值标量或向量 | 逻辑向量 | vartype()
包含经度坐标的表变量,使用下表中的索引方案之一指定。
索引方案 | 示例 |
---|---|
变量名称:
|
|
变量索引:
|
|
变量类型:
|
|
不管变量名称如何,图上的轴标签始终为 Longitude
。
您指定的变量必须包含 single
或 double
类型的数值数据。
如果 latvar
和 lonvar
都指定多个变量,则变量的数目必须相同。
示例: geoscatter(tbl,"lat",["lon1","lon2"])
为经度坐标指定名为 lon1
和 lon2
的表变量。
示例: geoscatter(tbl,"lat",2)
指定经度坐标的第二个变量。
示例: geoscatter(tbl,"lat",vartype("numeric"))
指定经度坐标的所有数值变量。
ax
— 目标坐标区
GeographicAxes
对象 | MapAxes
对象
目标坐标区,指定为 GeographicAxes
对象 1
或 MapAxes
(Mapping Toolbox™) 对象。
如果不指定此参量,则 geoscatter
函数将在当前坐标区中绘图,前提是当前坐标区是地理坐标区或地图坐标区对象。
名称-值参数
将可选的参量对组指定为 Name1=Value1,...,NameN=ValueN
,其中 Name
是参量名称,Value
是对应的值。名称-值参量必须出现在其他参量之后,但参量对组的顺序无关紧要。
示例: geoscatter(lat,lon,"filled",MarkerFaceAlpha=0.5)
创建经过填充的半透明标记。
在 R2021a 之前,使用逗号分隔每个名称和值,并用引号将 Name
引起来。
示例: geoscatter(lat,lon,"filled","MarkerFaceAlpha",0.5)
创建经过填充的半透明标记。
此处列出的散点图对象属性只是其中的一部分。有关完整列表,请参阅 Scatter 属性。
MarkerEdgeColor
— 标记轮廓颜色
"flat"
(默认) | RGB 三元组 | 十六进制颜色代码 | "r"
| "g"
| "b"
| ...
标记轮廓颜色,指定为 "flat"
、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 "flat"
将使用 CData
属性中的颜色。
对于自定义颜色,请指定 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" |
示例: [0.5 0.5 0.5]
示例: "blue"
示例: "#D2F9A7"
MarkerFaceColor
— 标记填充颜色
"none"
(默认) | "flat"
| "auto"
| RGB 三元组 | 十六进制颜色代码 | "r"
| "g"
| "b"
| ...
标记填充颜色,指定为 "flat"
、"auto"
、RGB 三元组、十六进制颜色代码、颜色名称或短名称。"flat"
选项使用 CData
值。"auto"
选项使用与坐标区的 Color
属性相同的颜色。
对于自定义颜色,请指定 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" |
示例: [0.3 0.2 0.1]
示例: "green"
示例: "#D2F9A7"
LineWidth
— 标记边的宽度
0.5
(默认) | 正值
标记边的宽度,指定为一个正值(以磅为单位)。
示例: 0.75
ColorVariable
— 包含颜色数据的表变量
表变量索引
包含颜色数据的表变量,指定为源表的变量索引。
指定表索引
使用以下任一索引方案指定所需的变量。
索引方案 | 示例 |
---|---|
变量名称:
|
|
变量索引:
|
|
变量类型:
|
|
指定颜色数据
指定 ColorVariable
属性控制标记的颜色。当 MarkerFaceColor
属性设置为 "flat"
时,变量中的数据控制标记填充颜色。当 MarkerEdgeColor
设置为 "flat"
时,数据还可以控制标记轮廓颜色。
您指定的表变量可以包含任何数值类型的值。这些值可以是以下形式之一:
线性映射到当前颜色图中的一列数字。
由 RGB 三元组组成的一个三列数组。RGB 三元组是包含三个元素的向量,其元素值指定特定颜色的红、绿和蓝分量的强度。强度必须处于范围
[0,1]
中。例如,[0.5 0.7 1]
指定浅蓝色。
当您设置 ColorVariable
属性时,MATLAB 会更新 CData
属性。
输出参量
s
— 地理散点图
Scatter
对象
地理散点图,以 Scatter
对象形式返回。使用 s
可在创建地理散点图后访问和修改其属性。
提示
当您在地理坐标区上绘图时,
geoscatter
函数假定坐标参考 WGS84 坐标参考系。如果使用参考不同坐标参考系的坐标进行绘图,则坐标可能会显示为未对齐。
版本历史记录
在 R2018b 中推出R2022b: 将表直接传递给 geoscatter
通过将表传递给 geoscatter
函数并后跟要绘制的变量来创建绘图。
R2022b: 向地理坐标区添加新绘图不会重置底图
当您在地理坐标区使用 geoscatter
和 geoplot
等函数绘图时,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 geoscatter(lat,lon,"filled")
此更改不影响用于将命令之间的 hold
状态设置为 "on"
的现有代码。
要在添加新绘图时重置底图,请在创建绘图之前使用 cla
函数的 cla reset
语法。例如,要更新上述代码,请在对 geobasemap
和 geoscatter
的调用之间使用 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 geoscatter(lat,lon,"filled")
您也可以使用 geobasemap
函数将底图更改为默认值 streets-light
。有关更改地理坐标区底图的详细信息,请参阅访问用于地理坐标区和地理图的底图。
另请参阅
函数
geoplot
|geobubble
|scatter
|geobasemap
属性
- Scatter 属性 | GeographicAxes 属性 | MapAxes Properties (Mapping Toolbox)
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®.
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)