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