1

使用zcol,cex可以burstmapview. 但是,每个点的大小仅与同一级别内其他点的大小相关。例如,在下面的代码中, group 中number.of.types值为 14 的点的大小与 group中的值为 6a相同。number.of.typesb

library(tidyverse)
library(tidyr)
library(mapview)

b = breweries %>% 
  drop_na(number.of.types) %>% 
  mutate(group = ifelse(number.of.types >= 7,"a","b"))

b %>%
  mapview(zcol="group", cex="number.of.types", burst=T)

是否可以标准化跨级别的点大小,而不必为每个层级别单独定义它?

4

1 回答 1

3

更新

我刚刚发现将burst-argument 设置为FALSE似乎可以解决问题?

b %>%
  mapview(zcol="group", cex="number.of.types", burst=FALSE)

在此处输入图像描述

上一个答案

我不确定mapview-options,因为我很少使用该功能。

您可以尝试使用传单重新生成您想要的地图(如果我没记错的话,这是 mapview 使用的)。

虽然它需要更多的代码行..

library(leaflet)

colorGroup <- colorFactor( topo.colors( 2 ), b$group )

leaflet() %>% addTiles() %>%
  addCircleMarkers( data  = b,
                    #circle size
                    radius  = ~number.of.types,
                    #circle borders
                    color = "black", opacity = 1, stroke = TRUE, weight = 2,
                    #circle inside
                    fillColor = ~ colorGroup( group ), fillOpacity = 0.8 ) 

结果是

在此处输入图像描述

而且您必须为图例和弹出窗口添加代码(如果需要)。

于 2019-11-08T10:37:16.023 回答