Main Content

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

geobubble

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

  • Bubble chart of data values at specific geographic locations

说明

geobubble(tbl,latvar,lonvar) 创建一个显示在地图上的地理气泡图,用实心圆圈(气泡)表示表 tbl 中指定的地理位置。latvar 是用来指定气泡纬度的表变量(列)。lonvar 是用来指定气泡经度的表变量。默认情况下,所有气泡的大小和颜色都相同。

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

geobubble(lat,lon) 创建一个地理气泡图,其中 latlon 指定地理位置。默认情况下,所有气泡的大小和颜色都相同。

示例

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

示例

geobubble(lat,lon,sizedata,colordata) 使用 colordata 中的分类数据来确定气泡的颜色。geobubblecolordata 中的每个类别选择一种颜色,如果 colordata 中有任何未定义的元素,则再加上一种颜色。颜色是从包含 7 种标准颜色的有序列表中选取的。在超过七个类别时,颜色会循环重复。若存在未定义的值,则在超过六个类别时即会循环重复。

示例

geobubble(___,Name,Value) 使用一个或多个名称-值对组参数指定地理气泡图的其他选项。请在所有其他输入参数之后指定这些选项。有关属性列表,请参阅 GeographicBubbleChart 属性。有两个关键的属性是 SizeVariableColorVariable,它们用来指定决定气泡大小和颜色的表变量。

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 变量(之前已经转换为分类变量)指定气泡的颜色。

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

以表的形式将海啸数据读入工作区。每一行代表发生的一次海啸。每一列代表各次海啸的一组变量数据,例如位置(纬度和经度)、原因和浪高。

tsunamis = readtable('tsunamis.xlsx');

创建一个地理气泡图,在地图上绘制海啸的位置。使用 MaxHeight 变量中的数据指定气泡的大小。在下面的示例中,您将数据直接传递给 geobubble。也可以将表的名称传递给 geobubble,然后按表变量名称指定数据。

geobubble(tsunamis.Latitude,tsunamis.Longitude,tsunamis.MaxHeight)

以表的形式将海啸数据读入工作区。每一行代表发生的一次海啸。每一列代表与各次海啸有关的一组数据,例如每次海啸的原因。

tsunamis = readtable('tsunamis.xlsx');

创建一个分类变量,因为控制气泡颜色的数据必须是分类变量。海啸表变量 Cause 已经按以下七个标准对海啸进行了分类:地震、地震加滑坡、火山、火山加滑坡、滑坡、气象变化和未知原因。将 Cause 变量数据放入一个分类变量中。

cause = categorical(tsunamis.Cause);

创建一个地理气泡图,在地图上绘制海啸的位置。使用气泡大小指示海浪大小,使用气泡颜色指示原因。如果您直接传递数据,而不是指定包含数据的表变量的名称,geobubble 将不会自动为大小和颜色图例添加标题。

geobubble(tsunamis.Latitude,tsunamis.Longitude,tsunamis.MaxHeight,cause)

以表的形式将海啸数据读入工作区。每一行代表发生的一次海啸。每一列代表各次海啸共有的一组变量数据,例如位置(纬度和经度)、原因和最大浪高。

tsunamis = readtable('tsunamis.xlsx');

将表变量中的一个变量转换为分类变量,用来指定气泡的颜色。Cause 变量指定每次海啸发生的原因,例如 'Earthquake''Volcano''Earthquake and Landslide'。将 Cause 变量从字符向量元胞数组转换为分类变量。

colordata = categorical(tsunamis.Cause);

创建一个地理气泡图,在地图上绘制海啸的位置。使用气泡大小指示海浪大小,使用气泡颜色指示海啸原因。使用名称-值对组添加标题。

gb = geobubble(tsunamis.Latitude,tsunamis.Longitude,tsunamis.MaxHeight,colordata,'Title','Tsunamis');

使用地理气泡图属性修改图。例如,为大小和颜色图例添加标题。(如果您指定表作为参数,则 geobubble 会使用表变量的名称自动添加图例标题。)

gb.SizeLegendTitle = 'Max Height';
gb.ColorLegendTitle = 'Cause';

输入参数

全部折叠

包含要绘制的数据的表,以表或时间表的形式指定。您可以使用 readtable 函数以表的形式导入数据,也可以使用 table 函数根据工作区变量创建表。您可以使用 timetable 函数根据工作区变量创建时间表。

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

数据类型: table

表示纬度的表变量,指定为下列形式之一:

  • 指定表变量中一个变量名称的字符串标量或字符向量。例如,geobubble(tbl,'Latitude','Longitude')latvar 选择名为 'Latitude' 的变量。

  • 指示表变量索引的数值标量。例如,geobubble(tbl,1,2) 为纬度选择表中的第一个变量。

  • 包含一个 true 元素的逻辑向量。

选定变量存储在 GeographicBubbleChart 对象的 LatitudeVariable 属性中。

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

表示经度的表变量,指定为下列形式之一:

  • 指定表变量中一个变量名称的字符串标量或字符向量。例如,geobubble(tbl,'Latitude','Longitude')lonvar 选择名为 'Longitude' 的变量。

  • 指示表变量索引的数值标量。例如,geobubble(tbl,1,2) 为经度选择表中的第二个变量。

  • 包含一个 true 元素的逻辑向量。

选定变量存储在 GeographicBubbleChart 对象的 LongitudeVariable 属性中。

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

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

示例: [43.0327 38.8921 44.0435]

数据类型: single | double

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

示例: [-107.5556 -77.0269 -72.5565]

数据类型: single | double

决定气泡大小的数据,指定为有限实数数值向量或标量,或指定为空 ([]) 数组。如果指定向量,则 sizedata 的大小必须与 latlon 相同。如果指定标量值,地理气泡图将通过标量扩展处理该值。sizedata 可以包含 NaN 值。

示例: [99 133 150]

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

决定气泡颜色的数据类别,指定为分类变量。类别通常是数据可归入的分组。

数据类型: categorical

父容器,指定为 FigurePanelTabTiledChartLayoutGridLayout 对象。

名称-值参数

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

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

示例: p = geobubble(tbl,latvar,lonvar,'SizeVariable','MaxHeight','ColorVariable','Cause')

注意

此处列出的地理气泡图属性是常用属性。有关完整列表,请参阅 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

用于确定气泡颜色的表变量,以下列形式之一指定:

  • 指定要用于存储颜色信息的表变量名称的字符串标量或字符向量。例如,geobubble(__,'ColorVariable','Cause') 指定名为 'Cause' 的变量。

  • 指示表变量索引的数值标量。例如,geobubble(__,'ColorVariable',12) 指定表中的第 12 个变量。

  • 包含一个 true 元素的逻辑向量。例如,sizevar = logical([0 0 0 0 0 0 0 0 0 0 0 1]) 指定表中的第 12 个变量。

只有在指定表作为输入时才能使用此属性。与此表变量关联的值必须为分类值。指定颜色变量时,geobubble 将与此变量关联的数据值存储在 ColorData 属性中,并将 ColorData 属性设置为只读。

数据类型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | 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

用于确定气泡大小的表变量,指定为下列形式之一:

  • 指定要用于存储大小信息的表变量名称的字符串标量或字符向量。例如,geobubble(__,'SizeVariable','MaxHeight') 指定名为 'MaxHeight' 的变量。

  • 指示表变量索引的数值标量。例如,geobubble(__,'SizeVariable',16) 指定表中的第 16 个变量。

  • 包含一个 true 元素的逻辑向量。例如,sizevar = logical([0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1]) 指定表中的第 16 个变量。

只有在指定表作为输入时才能使用此属性。与此表变量关联的值必须为数值类型。如果您指定此变量,geobubble 会将与此变量关联的数据值存储在 'SizeData' 属性中,并将此属性设置为只读。

输出参数

全部折叠

GeographicBubbleChart 对象,它是一个独立可视化。在创建地理气泡图后,使用 gb 设置其属性。

详细信息

全部折叠

独立可视化

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

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

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

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

提示

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

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

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

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

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

版本历史记录

在 R2017b 中推出