Main Content

使用地理气泡图属性

本主题介绍可使用地理气泡图属性执行的一些常见任务。

控制气泡大小

您可以在地理气泡图中使用气泡大小来表达数据的可量化特征。例如,对于莱姆病样本数据,您可以使用气泡大小来可视化显示新英格兰各郡的病例数。地理气泡图的以下属性共同控制图上气泡的大小:

  • SizeData

  • SizeVariable

  • SizeLimits

  • BubbleWidthRange

SizeData 属性指定要在图上绘制的数据。SizeData 必须是与纬度和经度向量大小相同的数值数据向量,或是标量。指定大小数据的另一种方法是向 geobubble 函数传递一个表作为它的第一个参量,并指定用作大小数据的表变量的名称。您可以使用 SizeVariable 属性来指定此表变量。当您使用表变量指定大小数据时,geobubble 将此变量的值存储在 SizeData 属性中,并将该属性设置为只读。如果您没有指定 SizeDatageobubble 将使用大小完全相同的气泡在地图上的地理位置绘图。

geobubbleBubbleWidthRange 属性设置的范围内的 SizeData 值进行线性缩放,从而确定每个气泡的大小(直径)。BubbleWidthRange 是一个二元素向量,它指定以磅为单位的最小气泡直径和最大气泡直径。默认情况下,BubbleWidthRange 将气泡直径的范围设置在 5 磅和 20 磅之间。您可以指定的气泡直径最小为 1 磅,最大为 100 磅。

使用 SizeLimits 属性来控制 SizeDataBubbleWidthRange 之间的映射。默认情况下,SizeLimits 属性指定数据范围的极值。例如,当使用 Cases2010 变量作为 SizeVariable 时,莱姆病样本数据的 SizeLimits 默认值为 [0 514]

指定大小数据时,地理气泡图包含描述气泡大小与数据的映射关系的图例。geobubbleSizeLimits 属性中的值用作图例的上界和下界。指定表变量时,geobubble 使用变量名称作为大小图例的标题。

缩小地理气泡图中的气泡

此示例说明如何使用 BubbleWidthRange 属性缩小地理气泡图中气泡的大小。(您还可以通过调整地理气泡图图窗的大小来减少重叠。)

将莱姆病样本数据读入工作区中。

counties = readtable('counties.xlsx');

使用表中的纬度、经度和病例数据创建地理气泡图。使用 geolimits 函数调整图的范围。

gb = geobubble(counties,'Latitude','Longitude','SizeVariable','Cases2010');
geolimits(gb,[41 47],[-75 -66])

查看地理气泡图的 SizeDataSizeLimits 属性的值。

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® 颜色图函数之一,例如 parulajet,或指定自定义颜色列表。

另请参阅

| | |

相关主题