如何从R bubbleGoogleMaps获得比例气泡大小?

时间:2014-06-07 04:06:39

标签: r bubble-chart plotgooglemaps

我想使用bubbleGoogleMaps创建spatialpoints的地图,其气泡大小与其各自的值成比例。无论如何,根据文档,这就是bubbleGoogleMaps所承诺的。

但是,我意识到气泡尺寸与其个别值相反,但仅限于它们的bin,它们属于

默认情况下,bubbleGoogleMaps仅根据分位数使用5个分箱,这很容易导致非常误导的地图,如下例所示:

library("plotGoogleMaps")

data(meuse)
coordinates(meuse)<-~x+y 
proj4string(meuse) <- CRS('+init=epsg:28992')

# we want to see one gigantic bubble for the first observation
# --> let's augment its value to 10000:
meuse$zinc[1] <- 10000 

# However, there is no gigantic bubble in the following bubbleGoogleMaps! 
# --> Bubbles are NOT proportional to their individual values!!!
m <- bubbleGoogleMaps(meuse,
                      zcol='zinc',
                      max.radius = 100,
                      filename='myMap.htm')

因此,我尝试通过将容器数量(=选项&#39; key.entries&#39;)从5增加到20来创建解决方法:

keys <- signif(quantile(meuse$zinc,
                        probs = seq(0, 1, length.out=20),
                        na.rm=T,
                        names=F),3);keys

但是,此解决方法不起作用,我们在此处收到错误:

m <- bubbleGoogleMaps(meuse,
                      zcol='zinc',
                      max.radius = 100,
                      key.entries=keys, 
                      filename='myMap.htm')

有关如何使用(个别)比例气泡创建bubbleGoogleMap的任何想法吗?

或者有人知道如何使用选项key.entries来解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

plotGoogleMaps包的author解决了我的问题。他确认bubbleGoogleMaps确实适用于垃圾箱。

对于将容器数量增加到20,我们需要将key.entries设置为

key.entries= quantile(meuse@data[, 'zinc'], (1:20)/20)

表示唯一值

key.entries= unique(sort(meuse$zinc))

这是我原本想要的。然而,传说现在变得非常凌乱/大规模甚至不再起作用......