R,传单,用颜色填充多边形

时间:2018-08-20 13:16:45

标签: r leaflet

我有伦敦的形状数据,并且想用红色,黄色和绿色给不同的区域上色。

我的代码有效,但不能根据红色,黄色或绿色填充它。

数据为:https://data.london.gov.uk/dataset/statistical-gis-boundary-files-london

这是我的代码:

library("rgdal")
library(leaflet)
shapeData <- readOGR('statistical-gis-boundaries-london/ESRI/LSOA_2004_London_Low_Resolution.shp')
shapeData <- spTransform(shapeData, CRS("+proj=longlat +ellps=GRS80"))
LANAME='Camden'
shapeData$col=sample(c('red','yellow','green'),nrow(shapeData),1)
leaflet()  %>% addTiles() %>% 
  setView(lng = -0.106, lat=51.5177,zoom=14) %>% 
  addPolygons(data=bor,weight=2,col = 'black',fillOpacity = 0.02,fillColor = shapeData$col,
              highlightOptions = highlightOptions(color='white',weight=1,
                                                  bringToFront = TRUE)) %>% 
  addMarkers(lng = -0.106,lat=51.5177,popup="Hi there")

输出为:

enter image description here

谁能指出为什么我不只看到黄色,绿色或红色,还看到所有其他颜色。

谢谢

1 个答案:

答案 0 :(得分:1)

我刚好已经下载了该文件。

您的问题是data参数与您的fillColor参数不一致。相反,您应该运行:

leaflet()  %>% addTiles() %>% 
  setView(lng = -0.106, lat=51.5177,zoom=14) %>% 
  addPolygons(data=shapeData,weight=2,col = 'black',fillColor = shapeData$col,
              highlightOptions = highlightOptions(color='white',weight=1,
                                                  bringToFront = TRUE)) %>% 
  addMarkers(lng = -0.106,lat=51.5177,popup="Hi there")

我还删除了fillOpacity = 0.02参数,因为它使颜色变得太透明而看不见。