使用mapplots中的draw.bubble在多个地图上保持气泡比例一致?

时间:2015-10-14 13:37:17

标签: r dictionary maps bubble-chart

我目前正在使用来自包draw.bubble的{​​{1}}在地图上绘制一些气泡图。数据包括不同位置的许多不同物种的动物密度,例如

mapplots

等...

我使用以下代码为每个物种绘制一个单独的地图:

Species Density Lat  Lon
A       10      55.4 -7.8
A       12      55.4 -7.7
A       15      55.4 -7.6
B       20      55.4 -7.8
B       22      55.4 -7.7
B       25      55.4 -7.6

我遇到的问题是每个单独图的气泡大小由每个物种的最大密度值决定,因此当我为多个物种运行此代码时,产生多个图,每个图中的气泡大小情节不是一样的。所以我想知道我是否可以在所有情节中为气泡指定一致的比例?

1 个答案:

答案 0 :(得分:1)

首先你需要计算所有物种的最大值

totalmax <- max(Data$Density)

然后,对于每个图,您计算该物种的最大值

speciesmax <- max(Data$Density[Data$Species=="C"])

计算相对起泡度:

bubblesize = 0.15 * speciesmax/totalmax

并在你的情节中使用它:

draw.bubble(Data$Long[Data$Species=="A"],Data$Lat[Data$Species=="A"],
        Data$Density[Data$Species=="A"], maxradius=bubblesize, pch=21, bg="#00FF0050")