使用 leafleat,如何根据“NAME_ASCI”为不同区域着色并在图例上显示颜色?
这有效:
library(leaflet)
library(mapview)
m <- leaflet(franconia) %>%
addProviderTiles("OpenStreetMap") %>%
addFeatures(.)
m
但是当我尝试动态着色时它不起作用。颜色参数应该去哪里?
m <- leaflet(franconia, color = ~ RdYlBu(NAME_ASCI)) %>%
addProviderTiles("OpenStreetMap") %>%
addFeatures(.)
m
# With mapview I use 'zcol' to accomplish the colors
mapview(franconia, zcol = "NAME_ASCI")
作为初学者,我建议查看有关 colors 和 legends 的文档:
library(leaflet)
library(mapview)
colors <- colorRampPalette(
RColorBrewer::brewer.pal(11, "RdYlBu")
)(length(levels(franconia$NAME_ASCI)))
pal <- leaflet::colorFactor(colors,
domain = levels(franconia$NAME_ASCI)
)
leaflet(franconia) %>%
addProviderTiles("OpenStreetMap") %>%
addPolygons(
color = ~ pal(NAME_ASCI),
fillOpacity = 1, stroke = FALSE
) %>%
addLegend(
pal = pal,
values = ~NAME_ASCI,
opacity = 1
)