今天,带来Matlab中用于地理位置标记的函数geobubble,它可以在地图上标记一些位置,诸如海啸数据、气象数据等,将数据中的经纬度在地图上表示出来。当然,该函数geobubble是在Matlab2020中引入的,由于我这里只安装了Matlab2016,这里的图片全部来源于官方文档。
安装了Matlab2020的同学,可以自行尝试,可以通过help geobubble命令来查看该函数的使用方法。
常见用法
geobubble(tbl,latvar,lonvar) geobubble(lat,lon) geobubble(lat,lon,sizedata) geobubble(lat,lon,sizedata,colordata) geobubble(___,Name,Value) geobubble(parent,___) gb = geobubble(___)
语法说明
geobubble(tbl,latvar,lonvar) 创建一个显示在地图上的地理气泡图,用实心圆圈(气泡)表示表 tbl 中指定的地理位置。latvar 是用来指定气泡纬度的表变量(列)。lonvar 是用来指定气泡经度的表变量。默认情况下,所有气泡的大小和颜色都相同。
地理气泡图在一个称为底图的地图上显示您的数据。气泡图会设置合理的初始地理范围,以容纳您的所有数据。地图是动态的,也就是说,您可以通过平移底图来查看其他地理位置。您还可以放大和缩小地图,从而更详细地查看不同的地区。当您平移和缩放时,气泡图会更新地图。
geobubble(lat,lon) 创建一个地理气泡图,其中 lat 和 lon 指定地理位置。默认情况下,所有气泡的大小和颜色都相同。
geobubble(lat,lon,sizedata) 根据 sizedata 中的数值缩放气泡的区域。
geobubble(lat,lon,sizedata,colordata) 使用 colordata 中的分类数据来确定气泡的颜色。geobubble 为 colordata 中的每个类别选择一种颜色,如果 colordata 中有任何未定义的元素,则再加上一种颜色。颜色是从包含 7 种标准颜色的有序列表中选取的。在超过七个类别时,颜色会循环重复。若存在未定义的值,则在超过六个类别时即会循环重复。
geobubble(___,Name,Value) 使用一个或多个名称-值对组参数指定地理气泡图的其他选项。请在所有其他输入参数之后指定这些选项。有关属性列表,请参阅 GeographicBubbleChart 属性。有两个关键的属性是 SizeVariable 和 ColorVariable,它们用来指定决定气泡大小和颜色的表变量。
geobubble(parent,___) 在由 parent 指定的图窗、面板、选项卡或分块图布局中创建地理气泡图。
gb = geobubble(___) 返回 GeographicBubbleChart 对象。创建图后,使用 gb 修改图属性。
在地理气泡图上显示海啸表中的数据
以表的形式将海啸数据读入工作区。每一行代表发生的一次海啸。每一列代表各次海啸的一组变量数据,例如位置(纬度和经度)、原因和浪高。
tsunamis = readtable('tsunamis.xlsx');
将表变量中的一个变量转换为分类变量,用来指定气泡的颜色。Cause 变量指定每次海啸发生的原因,例如 ‘Earthquake、’Volcano’ 或 ‘Earthquake and Landslide’。将 Cause 变量从字符向量元胞数组转换为分类变量。
tsunamis.Cause = categorical(tsunamis.Cause);
创建一个地理气泡图,在地图上绘制海啸的位置。指定保存位置信息的表变量的名称:Latitude 和 Longitude。使用 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';
转载文章,原文出处:MathWorks官网,由古哥整理发布
如若转载,请注明出处:https://iymark.com/articles/1190.html