如何通过分类变量为传单地图着色?

问题描述 投票:0回答:1

使用 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")
r leaflet maps
1个回答
0
投票

作为初学者,我建议查看有关 colorslegends 的文档:

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
  )

© www.soinside.com 2019 - 2024. All rights reserved.