在R中使用Leaflet创建多个`addCircleMarkers`图层?

5
使用 Leaflet 在 R 中,我假设绘制图层(类似于 ggplot)会很有效:
 m <- leaflet() %>%
      addTiles() %>%
      addCircleMarkers(lat=subset(DF, outcome=='W')$lat, lng=subset(DF, outcome=='W')$lon, color= "red") %>%
      addCircleMarkers(lat=subset(DF, outcome=='L')$lat, lng=subset(DF, outcome=='L')$lon, color= "blue") 

我原本以为这会给我两个不同颜色的圆形标记,红色的标记代表那些“W”结果的记录,蓝色的标记代表那些“L”结果的记录。

然而,我根本没有得到任何地图。

我该如何使用R中的Leaflet按顺序传递多个addCircleMarkers呢?

1个回答

11

流水线处理很简单。以下代码适用于我。

leaflet() %>% 
  addTiles() %>% 
  addCircleMarkers(lng = 9, lat = 47, color = 'red') %>% 
  addCircleMarkers(lng = 8.5, lat = 47.5, color = 'blue')

同时,您的示例代码在使用样本数据帧时可以正常工作:

DF <- data.frame(lat = c(47,48), lon = c(8,9), outcome = c("W", "L"))
leaflet() %>%
  addTiles() %>%
  addCircleMarkers(
    lat=subset(DF, outcome=='W')$lat, lng=subset(DF,outcome=='W')$lon, 
    color= "red") %>%
  addCircleMarkers(
    lat=subset(DF, outcome=='L')$lat, lng=subset(DF, outcome=='L')$lon, 
    color= "blue")

这给出了下面的地图使用addCircleMarkers()添加多个图层的leaflet示例


这很棒...但是我注意到当并非所有类都存在时可能会出现问题--例如,没有红色,只有蓝色。此处链接的问题的解决方案解决了这个问题:https://dev59.com/n47da4cB1Zd3GeqP9CFy - tumultous_rooster

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