mapview: стандартизация размера точки по группам
С помощью zcol
, cex
а также burst
можно настроить размер всех уровней в точечном слое в mapview
. Однако размер каждой точки зависит только от размера других точек ВНУТРИ того же уровня. Например, в следующем коде размер точки сnumber.of.types
значение 14 в группе a
такой же как number.of.types
значение 6 в группе b
.
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)
Можно ли стандартизировать размер точек на разных уровнях, не прибегая к необходимости определять это для каждого уровня отдельно?
1 ответ
Обновить
Я только что обнаружил, что установка burst
-аргумент против 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 )
приводит к
И вам нужно будет добавить код для легенды и всплывающих окон (при необходимости).