使用地理气泡图属性
本主题介绍可使用地理气泡图属性执行的一些常见任务。
控制气泡大小
您可以在地理气泡图中使用气泡大小来表达数据的可量化特征。例如,对于莱姆病样本数据,您可以使用气泡大小来可视化显示新英格兰各郡的病例数。地理气泡图的以下属性共同控制图上气泡的大小:
SizeData
SizeVariable
SizeLimits
BubbleWidthRange
SizeData
属性指定要在图上绘制的数据。SizeData
必须是与纬度和经度向量大小相同的数值数据向量,或是标量。指定大小数据的另一种方法是向 geobubble
函数传递一个表作为它的第一个参数,并指定用作大小数据的表变量的名称。您可以使用 SizeVariable
属性来指定此表变量。当您使用表变量指定大小数据时,geobubble
将此变量的值存储在 SizeData
属性中,并将该属性设置为只读。如果您没有指定 SizeData
,geobubble
将使用大小完全相同的气泡在地图上的地理位置绘图。
geobubble
对 BubbleWidthRange
属性设置的范围内的 SizeData
值进行线性缩放,从而确定每个气泡的大小(直径)。BubbleWidthRange
是一个二元素向量,它指定以磅为单位的最小气泡直径和最大气泡直径。默认情况下,BubbleWidthRange
将气泡直径的范围设置在 5 磅和 20 磅之间。您可以指定的气泡直径最小为 1 磅,最大为 100 磅。
使用 SizeLimits
属性来控制 SizeData
和 BubbleWidthRange
之间的映射。默认情况下,SizeLimits
属性指定数据范围的极值。例如,当使用 Cases2010 变量作为 SizeVariable
时,莱姆病样本数据的 SizeLimits
默认值为 [0 514]
。
指定大小数据时,地理气泡图包含描述气泡大小与数据的映射关系的图例。geobubble
将 SizeLimits
属性中的值用作图例的上界和下界。指定表变量时,geobubble
使用变量名称作为大小图例的标题。
缩小地理气泡图中的气泡
此示例说明如何使用 BubbleWidthRange
属性缩小地理气泡图中气泡的大小。(您还可以通过调整地理气泡图图窗的大小来减少重叠。)
将莱姆病样本数据读入工作区中。
counties = readtable('counties.xlsx');
使用表中的纬度、经度和病例数据创建地理气泡图。使用 geolimits
函数调整图的范围。
gb = geobubble(counties,'Latitude','Longitude','SizeVariable','Cases2010'); geolimits(gb,[41 47],[-75 -66])
查看地理气泡图的 SizeData
和 SizeLimits
属性的值。
size_data_values = gb.SizeData; size_data_values(1:15)
ans = 15×1
331
187
88
125
240
340
161
148
38
4
⋮
size_limits = gb.SizeLimits
size_limits = 1×2
0 514
使用 BubbleWidthRange
属性缩小气泡以避免重叠。首先查看属性的初始设置。
default_width_range = gb.BubbleWidthRange
default_width_range = 1×2
5 20
gb.BubbleWidthRange = [4 15];
控制气泡颜色
您可以使用地理气泡图中的气泡颜色,根据数据类别对气泡着色。例如,在莱姆病样本数据中,您可以将新英格兰各郡的莱姆病的严重程度分为高、中、低三个等级。地理气泡图的以下属性共同控制图上气泡的颜色:
ColorData
ColorVariable
BubbleColorList
ColorData
属性指定用来控制图中气泡颜色的数据。ColorData
必须是大小与纬度和经度相同的分类数据的向量。指定颜色数据的另一种方法是向 geobubble
传递一个表作为函数的第一个参数,并为该表指定用作颜色数据的表变量的名称。您可以使用 ColorVariable
属性来指定此表变量。geobubble
将该表变量的值存储在 ColorData
属性中,并将该属性设置为只读。
如果您的数据最初不包含 categorical
变量,则您可以创建该变量。例如,莱姆病样本数据不包括分类变量。创建此类型的变量的一种方法是使用 discretize
函数。使用病例发生数据 cases2010
,根据病例发生次数创建三个类别,分别将其描述为低、中、高三个严重级别。以下代码根据病例发生数据创建名为 Severity
的分类变量。
Severity = discretize(counties.Cases2010,[0 50 100 550],... 'categorical', {'Low', 'Medium', 'High'});
BubbleColorList
属性控制地理气泡图中气泡所用的颜色。该值是一个 m×3 数组,其中每行是一个 RGB 颜色三元组。默认情况下,geobubble
使用包含七种颜色的颜色集。如果您有七个以上的类别,会循环重复使用这些颜色。要更改使用的颜色,请使用其他 MATLAB® 颜色图函数之一,例如 parula
或 jet
,或指定自定义颜色列表。
另请参阅
discretize
| geolimits
| geobubble
| GeographicBubbleChart 属性