用 "r and leaflet" 绘制几个圆形标记层
plot several circle marker layer with "r and leaflet"
我正在尝试用 leaflet
包绘制几层 addCircleMarkers
,我需要一个更短的方法来完成它
现在我正在这样做:
data_stack <- data.frame(lat=rnorm(10),lng=rnorm(10) ,v1=rnorm(10,10), v2=rnorm(10,20) , v3=rnorm(10,20), v4=rnorm(10,20), v5=rnorm(10,20) )
map_test_global <- leaflet(data_stack) %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addCircleMarkers(radius = ~ v1,fill = T,fillColor ="red",popup =~as.character(v1) ,group="1" )%>%
addCircleMarkers(radius = ~ v2, fill = T , fillColor ="green" ,popup = ~ as.character(v2) ,group="2" ) %>%
addCircleMarkers(radius = ~ v3, fill = T , fillColor ="blue" ,popup = ~ as.character(v3) ,group="3" ) %>%
addCircleMarkers(radius = ~ v4, fill = T , fillColor ="DarkOrange" ,popup = ~ as.character(v4) ,group="4" ) %>%
addCircleMarkers(radius = ~ v5, fill = T , fillColor ="DarkOrange" ,popup = ~ as.character(v5) ,group="5" ) %>%
addLayersControl( baseGroups = c("1", "2","3","4","5"),
options = layersControlOptions(collapsed = FALSE))
我需要为 200 列做这件事
我正在尝试这样做,但它不起作用
map_test_global <- leaflet(data_stack) %>%
addTiles() %>% # Add default OpenStreetMap map tiles
lapply( list_var ,function(x)
addCircleMarkers(map_test_global ,radius= reformulate(x),popup = reformulate(x) ,group=x )
)
addLayersControl(map_test_global ,
baseGroups = list_var,
options = layersControlOptions(collapsed = T)
)
它以不同的方式绘制每张地图 window 最后一张是空的(仅显示图层控件)
我知道 popup
不工作我需要 as.character
dataframe 之前
谢谢
您没有在申请中更改 map_test_global
。
您可以尝试循环:
map_test_global <- leaflet(data_stack) %>%
addTiles()
for(x in 1:5){
map_test_global <- map_test_global %>% addCircleMarkers(radius = as.formula(paste0("~v",x)),fill = T,fillColor ="red",popup =as.formula(paste0("~as.character(v",x,")")) ,group=as.character(x))
}
map_test_global %>% addLayersControl( baseGroups = as.character(1:5),
options = layersControlOptions(collapsed = FALSE))
我正在尝试用 leaflet
包绘制几层 addCircleMarkers
,我需要一个更短的方法来完成它
现在我正在这样做:
data_stack <- data.frame(lat=rnorm(10),lng=rnorm(10) ,v1=rnorm(10,10), v2=rnorm(10,20) , v3=rnorm(10,20), v4=rnorm(10,20), v5=rnorm(10,20) )
map_test_global <- leaflet(data_stack) %>%
addTiles() %>% # Add default OpenStreetMap map tiles
addCircleMarkers(radius = ~ v1,fill = T,fillColor ="red",popup =~as.character(v1) ,group="1" )%>%
addCircleMarkers(radius = ~ v2, fill = T , fillColor ="green" ,popup = ~ as.character(v2) ,group="2" ) %>%
addCircleMarkers(radius = ~ v3, fill = T , fillColor ="blue" ,popup = ~ as.character(v3) ,group="3" ) %>%
addCircleMarkers(radius = ~ v4, fill = T , fillColor ="DarkOrange" ,popup = ~ as.character(v4) ,group="4" ) %>%
addCircleMarkers(radius = ~ v5, fill = T , fillColor ="DarkOrange" ,popup = ~ as.character(v5) ,group="5" ) %>%
addLayersControl( baseGroups = c("1", "2","3","4","5"),
options = layersControlOptions(collapsed = FALSE))
我需要为 200 列做这件事
我正在尝试这样做,但它不起作用
map_test_global <- leaflet(data_stack) %>%
addTiles() %>% # Add default OpenStreetMap map tiles
lapply( list_var ,function(x)
addCircleMarkers(map_test_global ,radius= reformulate(x),popup = reformulate(x) ,group=x )
)
addLayersControl(map_test_global ,
baseGroups = list_var,
options = layersControlOptions(collapsed = T)
)
它以不同的方式绘制每张地图 window 最后一张是空的(仅显示图层控件)
我知道 popup
不工作我需要 as.character
dataframe 之前
谢谢
您没有在申请中更改 map_test_global
。
您可以尝试循环:
map_test_global <- leaflet(data_stack) %>%
addTiles()
for(x in 1:5){
map_test_global <- map_test_global %>% addCircleMarkers(radius = as.formula(paste0("~v",x)),fill = T,fillColor ="red",popup =as.formula(paste0("~as.character(v",x,")")) ,group=as.character(x))
}
map_test_global %>% addLayersControl( baseGroups = as.character(1:5),
options = layersControlOptions(collapsed = FALSE))