如何动态填充传单颜色

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

使用 leafleat,如何根据“NAME_ASCI”为不同区域着色并在图例上显示颜色?

This works:

library(leaflet)
library(mapview)
m <- leaflet(franconia) %>%              
  addProviderTiles("OpenStreetMap") %>%
  addFeatures(.) 
m

#But when I try to color dynamically it doesn't work. Where the color argument should go?
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.