使用zcol
,cex
和burst
可以调整mapview
中点层内所有层的大小。但是,每个点的大小仅与同一级别内其他点的大小有关。例如,在以下代码中,组number.of.types
中a
值为14的点的大小与组number.of.types
中b
值6的点的大小相同。
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)
是否有可能标准化各个级别的点的大小,而不必依靠为每个层级别单独定义它的大小?
答案 0 :(得分:1)
更新
我刚刚发现将burst
参数设置为FALSE
似乎可以解决问题?
b %>%
mapview(zcol="group", cex="number.of.types", burst=FALSE)
上一个答案
我不确定mapview
-选项,因为我很少使用该功能。
您可以尝试使用传单重新计算所需的地图(如果我没记错的话,这就是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 )
结果
并且您将不得不添加图例和弹出窗口的代码(如果需要)。