Main Content

geobubble

以可视方式呈现特定地理位置的数据值

  • Bubble chart of data values at specific geographic locations

说明

表数据

geobubble(tbl,latvar,lonvar) 基于表 tbl 创建一个地理气泡图latvar 参量表示包含纬度的表变量。lonvar 参量表示包含经度的表变量。默认情况下,所有气泡的大小和颜色都相同。

向量数据

geobubble(lat,lon) 基于 lat 中的纬度和 lon 中的经度创建一个地理气泡图。默认情况下,所有气泡的大小和颜色都相同。

示例

geobubble(lat,lon,sizedata) 根据 sizedata 中的数值缩放气泡的区域。

示例

geobubble(lat,lon,sizedata,colordata) 使用 colordata 中的分类值指定气泡的颜色。该函数为 colordata 中的每个类别选择一种颜色,再为 colordata 中未定义的任何元素加上一种颜色。该函数从包含七种标准颜色的有序列表中选择颜色。如果您的数据指定了七个以上的类别,则该函数会以循环方式重复使用这些颜色。

其他选项

示例

geobubble(___,Name=Value) 使用名称-值参量指定 GeographicBubbleChart 属性。在所有其他输入参量后指定属性。例如,SizeVariableColorVariable 属性使您能够指定确定气泡大小和颜色的表变量。有关属性列表,请参阅 GeographicBubbleChart 属性

geobubble(parent,___) 在由 parent 指定的图窗、面板、选项卡或分块图布局中创建地理气泡图。

gb = geobubble(___) 返回 GeographicBubbleChart 对象。创建图后,使用 gb 修改图属性。有关属性列表,请参阅 GeographicBubbleChart 属性

示例

全部折叠

以表的形式将海啸数据读入工作区。表中的行表示单个海啸事件。表变量包括有关海啸的数据,如纬度、经度、成因和浪高。

tsunamis = readtable("tsunamis.xlsx");

准备根据海啸的成因为气泡着色。Cause 变量指定每次海啸发生的原因,例如 'Earthquake'、'Volcano''Earthquake and Landslide'。将 Cause 变量从字符向量元胞数组转换为分类向量。

tsunamis.Cause = categorical(tsunamis.Cause);

基于表创建一个地理气泡图。使用 LatitudeLongitude 表变量指定海啸位置。使用存储在 MaxHeight 表变量中的浪高指定气泡的大小。使用存储在 Cause 表变量中的类别指定气泡的颜色。当您基于表数据创建地理气泡图并指定 SizeVariableColorVariable 参量时,大小和颜色图例会显示相关联的表变量的名称。

geobubble(tsunamis,"Latitude","Longitude", ...
    SizeVariable="MaxHeight",ColorVariable="Cause")

Figure contains an object of type geobubble.

以表的形式将海啸数据读入工作区。表中的行表示单个海啸事件。表变量包括有关海啸的数据,如纬度、经度、成因和浪高。

tsunamis = readtable("tsunamis.xlsx");

从表中提取纬度、经度和浪高。

lat = tsunamis.Latitude;
lon = tsunamis.Longitude;
sizedata = tsunamis.MaxHeight;

基于纬度、经度和浪高创建一个地理气泡图。使用浪高指定气泡大小。geobubble 函数使用 sizedata 控制气泡大小的相对分布。

geobubble(lat,lon,sizedata)

Figure contains an object of type geobubble.

以表的形式将海啸数据读入工作区。表中的行表示单个海啸事件。表变量包括有关海啸的数据,如纬度、经度、成因和浪高。

tsunamis = readtable("tsunamis.xlsx");

从表中提取纬度、经度、浪高和成因。

lat = tsunamis.Latitude;
lon = tsunamis.Longitude;
sizedata = tsunamis.MaxHeight; 
colordata = tsunamis.Cause;

colordata 变量按以下七个标准对海啸进行分类:地震、地震加滑坡、火山、火山加滑坡、滑坡、气象变化和未知原因。将 colordata 转换为分类向量。

colordata = categorical(colordata); 

基于纬度、经度、浪高和成因创建一个地理气泡图。使用浪高指定气泡大小。使用成因指定气泡颜色。

geobubble(lat,lon,sizedata,colordata)

Figure contains an object of type geobubble.

当您基于向量数据创建地理气泡图时,图例没有标题。请通过指定地理气泡图的属性来添加图例标题。

以表的形式将海啸数据读入工作区。表中的行表示单个海啸事件。表变量包括有关海啸的数据,如纬度、经度、成因和浪高。

tsunamis = readtable("tsunamis.xlsx");

从表中提取纬度、经度、浪高和成因。

lat = tsunamis.Latitude;
lon = tsunamis.Longitude;
sizedata = tsunamis.MaxHeight; 
colordata = tsunamis.Cause;

colordata 变量按以下七个标准对海啸进行分类:地震、地震加滑坡、火山、火山加滑坡、滑坡、气象变化和未知原因。将 colordata 转换为分类向量。

colordata = categorical(colordata); 

基于数据创建一个地理气泡图。以 gb 形式返回 GeographicBubbleChart 对象。

gb = geobubble(lat,lon,sizedata,colordata);

通过设置 TitleSizeLegendTitleColorLegendTitle 属性添加标题和图例标题。

gb.Title = "Tsunamis";
gb.SizeLegendTitle = "Max Height";
gb.ColorLegendTitle = "Cause";

Figure contains an object of type geobubble. The chart of type geobubble has title Tsunamis.

输入参数

全部折叠

源表,以表或时间表的形式指定。

您可以使用 readtable 函数将数据作为表导入。您还可以使用 table 函数从工作区变量创建表,或使用 timetable 函数从工作区变量创建时间表。

GeographicBubbleChart 对象的 SourceTable 属性存储包含所绘制数据的表。

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

索引方案示例

变量名称:

  • 字符串标量或字符向量。

  • pattern 对象。模式对象只能引用一个变量。

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

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

变量索引:

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

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

  • 3 - 表中的第三个变量

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

变量类型:

  • vartype 下标,用于选择指定类型的表变量。该下标只能引用一个变量。

  • vartype("double") - 包含双精度值的变量

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

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

示例: geobubble(tbl,"lat1","lon") 为纬度坐标指定名为 lat1 的表变量。

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

示例: geobubble(tbl,vartype("numeric"),"lon") 为纬度坐标指定数值变量。

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

索引方案示例

变量名称:

  • 字符串标量或字符向量。

  • pattern 对象。模式对象只能引用一个变量。

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

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

变量索引:

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

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

  • 3 - 表中的第三个变量

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

变量类型:

  • vartype 下标,用于选择指定类型的表变量。该下标只能引用一个变量。

  • vartype("double") - 包含双精度值的变量

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

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

示例: geobubble(tbl,"lat","lon1") 为经度坐标指定名为 lon1 的表变量。

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

示例: geobubble(tbl,"lat",vartype("numeric")) 为经度坐标指定数值变量。

以度为单位的纬度坐标,指定为由 [–90, 90] 范围内的元素组成的向量。向量可以包含 NaN 值。

latlon 的大小必须匹配。

示例: [43.0327 38.8921 44.0435]

数据类型: single | double

以度为单位的经度坐标,指定为向量。向量可以包含 NaN 值。

lonlat 的大小必须匹配。

示例: [-107.5556 -77.0269 -72.5565]

数据类型: single | double

相对气泡大小,指定为标量、向量或空数组 ([])。向量输入可以包括 NaN 值。

sizedata 控制气泡大小的相对分布。默认情况下,geobubble 依据 sizedata 值范围线性映射一个气泡面积范围。

如果 sizedata 是向量,则 sizedatalatlon 的大小必须匹配。

示例: [99 133 150]

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

确定气泡颜色的类别,指定为分类标量或分类向量。类别通常是数据可归入的分组。

数据类型: categorical

父容器,指定为 FigurePanelTabTiledChartLayoutGridLayout 对象。

名称-值参数

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

示例: geobubble(tbl,latvar,lonvar,SizeVariable="MaxHeight",ColorVariable="Cause") 指定包含气泡大小数据和气泡颜色数据的表变量。

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

示例: geobubble(tbl,latvar,lonvar,"SizeVariable","MaxHeight","ColorVariable","Cause") 指定包含气泡大小数据和气泡颜色数据的表变量。

注意

使用名称-值参量为由此函数创建的 GeographicBubbleChart 对象的属性指定值。此处所列的属性只是一部分。有关完整列表,请参阅 GeographicBubbleChart 属性

要在其上绘制数据的地图,指定为下表中列出的值之一。有六幅底图是使用 Natural Earth 创建的图块化数据集。其中五个底图是由 Esri® 托管的高缩放级别地图。

'streets-light' basemap

'streets-light'(默认值)

旨在提供地理上下文同时在浅色背景上突出显示用户数据的地图。

由 Esri 托管。

'streets-dark' basemap

'streets-dark'

旨在提供地理上下文同时在深色背景上突出显示用户数据的地图。

由 Esri 托管。

'streets' basemap

'streets'

通用公路图,强调公路和交通网络的准确、清晰样式。

由 Esri 托管。

'satellite' basemap

'satellite'

由高分辨率卫星图像组成的完整全球底图。

由 Esri 托管。

'topographic' basemap

'topographic'

具有用于描绘地貌特征的样式的通用地图。

由 Esri 托管。

'landcover' basemap

'landcover'

结合卫星衍生的地表数据、着色地势和海底地势的地图。明亮、自然的调色板适用于主题地图和参考地图。

使用 Natural Earth 创建。

'colorterrain' basemap

'colorterrain'

叠加了地表配色的着色地势图。潮湿的低地为绿色,干旱的低地为棕色。

使用 Natural Earth 创建。

'grayterrain' basemap

'grayterrain'

灰色地形图。着色地势强调高山和洼地的微地形。

使用 Natural Earth 创建。

'bluegreen' basemap

'bluegreen'

具有浅绿色陆地区域和浅蓝色水域的双色陆地海洋地图。

使用 Natural Earth 创建。

'grayland' basemap

'grayland'

具有灰色陆地区域和白色水域的双色陆地海洋地图。

使用 Natural Earth 创建。

'darkwater' basemap

'darkwater'

具有浅灰色陆地区域和深灰色水域的双色陆地海洋地图。此底图随 MATLAB® 一起安装。

使用 Natural Earth 创建。

 

'none'

空白背景,用经纬度网格、刻度和标签绘制数据。

'darkwater' 外,所有底图都需要 Internet 访问权限。'darkwater' 底图包含在 MATLAB 中。

如果您不能随时访问 Internet,可使用附加功能资源管理器将使用 Natural Earth 创建的底图下载到您的本地系统上。这五个高缩放级别的地图无法下载。有关下载底图和更改本地系统上默认底图的详细信息,请参阅访问用于地理坐标区和地理图的底图

由 Esri 托管的底图会周期性更新。因此,随着时间的推移,您可能会看到可视化出现差异。

边界和区域标签的对齐是数据供应商提供的功能的展示,并不意味着 MathWorks® 对此做出背书。

示例: gb = geobubble(1:10,1:10,'Basemap','bluegreen')

示例: gb.Basemap = 'bluegreen'

数据类型: char | string

地图的布局,包括地图本身和装饰元素,指定为下列值之一。

描述图解
'normal'地图以插图形式放置在图的边缘一侧,如 OuterPosition 属性所定义。坐标区标签('Latitude''Longitude')、刻度以及刻度标签均可见。如果设置了 Title 属性值,则图包含一个标题。图例(如果有)显示在地图右侧的外部区域。

Geographic bubble chart with a normal layout

'maximized'地图填满由 OuterPosition 属性定义的整个空间。坐标区标签、刻度和刻度标签处于隐藏状态。标题处于隐藏状态,即使设置了 Title 属性也是如此。网格处于隐藏状态,即使 GridVisible 设置为 'on' 也是如此。图例(如果有)显示在地图内部的右上角。

Geographic bubble charted with a maximized layout

示例: gb = geobubble(__,'MapLayout','maximized')

示例: gb.MapLayout = 'maximized'

数据类型: char | string

包含气泡大小数据的表变量,使用以下索引方案之一指定。

索引方案示例

变量名称:

  • 字符串标量或字符向量。

  • pattern 对象。模式对象只能引用一个变量。

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

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

变量索引:

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

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

  • 3 - 表中的第三个变量

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

变量类型:

  • vartype 下标,用于选择指定类型的表变量。该下标只能引用一个变量。

  • vartype("double") - 包含双精度值的变量

您指定的变量可以包含任何数值类型。当您设置 SizeVariable 属性时,MATLAB 会更新 SizeData 属性。

包含气泡颜色数据的表变量,使用以下索引方案之一指定。

索引方案示例

变量名称:

  • 字符串标量或字符向量。

  • pattern 对象。模式对象只能引用一个变量。

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

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

变量索引:

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

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

  • 3 - 表中的第三个变量

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

变量类型:

  • vartype 下标,用于选择指定类型的表变量。该下标只能引用一个变量。

  • vartype("double") - 包含双精度值的变量

您指定的变量必须包含分类值。当您设置 ColorVariable 属性时,MATLAB 会更新 ColorData 属性。

输出参量

全部折叠

地理气泡图,以 GeographicBubbleChart 对象形式返回。地理气泡图是一种独立可视化形式。在创建地理气泡图后,使用 gb 设置其属性。

详细信息

全部折叠

地理气泡图

地理气泡图在地图上显示您的数据,并在底图上为您的数据提供地理背景。气泡图会设置地图的初始地理范围以容纳您的所有数据。地图是动态的,因此您可以通过平移底图来查看其他地理位置。您还可以放大和缩小地图,从而更详细地查看不同的地区。当您平移和缩放时,气泡图会更新地图。有关地理气泡图和底图的详细信息,请参阅地理气泡图概述

独立可视化

独立可视化是出于特殊目的设计的图,其工作方式独立于其他图。与 plotsurf 等其他图不同,独立可视化内置一个预配置的坐标区对象,并且某些自定义不可用。独立可视化还具有以下特性:

  • 它无法与其他图形元素(如线条、补片或曲面)组合。因此,不支持 hold 命令。

  • gca 函数可以将图对象返回为当前坐标区。

  • 您可以将图对象传递给许多 MATLAB 函数,这些函数接受坐标区对象作为输入参量。例如,您可以将图对象传递给 title 函数。

提示

  • 如果基于表创建地理气泡图,则可以自定义其数据提示。

    • 要在数据提示中添加或删除行,请右键点击图上的任意位置,然后指向修改数据提示。然后,选择或取消选择一个变量。

    • 要添加或删除多行,请右键点击图,指向修改数据提示,然后选择更多。然后,通过点击 >> 添加变量,或通过点击 << 删除变量。

  • 要以编程方式将焦点转移到地理气泡图,请使用 axes 函数,例如 axes(gb)

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

替代功能

  • 地理气泡图不支持自定义,例如更改气泡的线宽、更改气泡的透明度或添加文本和线条注释。要创建支持更多自定义的类似图,请使用 geoaxes 函数创建地理坐标区对象。然后,使用 bubblechart 函数在地理坐标区对象中创建气泡图。

  • 要在地图坐标区对象 (Mapping Toolbox™) 中创建气泡图,请使用 bubblechart 函数。

版本历史记录

在 R2017b 中推出