如何在R Leaflet中为多边形添加黑色边框

6

我希望在我的多边形周围添加一个黑色边框。请看下面的图片,这是目前的效果。

enter image description here

我使用了这段代码。我不知道如何包含一个zip文件以便复制它。

library("rgdal")
library("leaflet")

 amsterdam.districts <- shapefile("~/R/Shiny/Shapefiles/sd2010zw_region.shp")
 amsterdam.districts <- spTransform(amsterdam.districts, CRS("+init=epsg:4326"))
 amsterdam.districts$STADSDEELN<- c("Centrum","Westpoort","West","Nieuw West","Zuid","Oost","Noord","Zuidoost")

 amsterdam.districts$SDNUMMER=as.factor(amsterdam.districts$SDNUMMER) 
 factpal=colorFactor(brewer.pal(n = 11, name ="Spectral") , amsterdam.districts$SDNUMMER) 

   leaflet() %>%
     addPolygons(
       data =amsterdam.districts, 
       stroke = FALSE, fillOpacity = 0.5, smoothFactor = 0.5,
       color = "grey",
       fillColor = ~factpal(SDNUMMER),
       layerId = amsterdam.districts@data$STADSDEELN)%>%
     addProviderTiles("CartoDB.Positron", options= providerTileOptions(opacity = 1))

感谢阅读! Martijn
1个回答

16

以下是一个可复现的例子:

library(mapview)
library(RColorBrewer)

factpal <- colorFactor(brewer.pal(n = 11, name ="Spectral") , gadmCHE$NAME_1) 

leaflet() %>%
  addPolygons(
    data = gadmCHE, 
    stroke = TRUE, fillOpacity = 0.5, smoothFactor = 0.5,
    color = "black", opacity = 1,
    fillColor = ~factpal(gadmCHE$NAME_1)) %>%
  addProviderTiles("CartoDB.Positron", options = providerTileOptions(opacity = 1))

您只需要设置 stroke = TRUEcolor = "black" 就可以得到边框。请注意,我还设置了 opacity = 1 来防止半透明边框。


1
有时候它可以如此简单,非常感谢!@TimSalabim - M. Kooi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接