使用 leaflet 和 R 给 CircleMarkers 添加边框

4
我想给CircleMarkers添加边框。我使用了以下代码,但无法找到任何函数来添加黑色边框到描边中。
pal <- colorNumeric(palette = 'RdYlBu', domain = city_results$ratio)

m <- leaflet() %>% 
     addTiles() %>% 
     setView(lng = median(city_results$long), 
             lat = median(mean(city_results$lat)), 
             zoom = 8) %>% 
     addProviderTiles(providers$CartoDB) %>% 
     addCircleMarkers(data = city_results, lng = ~long, lat = ~lat,
                     radius = ~(Socioeconomic_status_group),
                     color = ~pal(ratio),
                     stroke = TRUE, fillOpacity =  0,
                     popup = ~as.character(nameH),
                     label = ~as.character(round(corr_value,2)),
                     labelOptions = labelOptions(noHide = T, textOnly = TRUE)) 

2
欢迎来到 Stack Overflow。您能提供您的数据吗?否则没有人能看到您的当前地图并帮助您。 - jazzurro
1个回答

9

如果您想使用黑色描边,以下代码可以实现。我在这个演示中使用了leaflet包中的地震数据。您需要使用fillColor来填充标记并保存color来分配描边颜色。

library(leaflet)

pal <- colorNumeric(palette = "Blues", domain = quakes$mag)

leaflet() %>% 
addProviderTiles("OpenStreetMap.Mapnik") %>%
addCircleMarkers(data = quakes,
                 radius = ~mag * 5,
                 color = "black",
                 fillColor = ~pal(mag),
                 stroke = TRUE, fillOpacity = 0.5)

enter image description here


谢谢您的回答,我更喜欢不使用fillColor,只想为圆形标记添加边框,这可行吗? - user6041789
如果您只想要黑色轮廓,您可以将fillOpacity设置为零。使用fillOpacity = 0代替0.5。这样,您就看不到任何填充颜色了。 - jazzurro
我有很多圆,因此我想要一个没有填充但有彩色描边的空心圆。问题是我的调色板中有一些颜色非常接近背景颜色,就像上面的例子中有一些浅蓝色的描边。为了让用户知道这个区域有浅蓝色的描边,我想给描边加上黑色边框,这样用户就能意识到这个区域有描边了。 - user6041789
@user6041789 我认为在leaflet中这是不可能的。你可以控制描边和填充颜色,但无法控制边框线。 - jazzurro
@user6041789,我现在唯一能想到的是您想要更改您拥有的地图。如果您更改背景,可能就不必再苦苦挣扎了。 - jazzurro
@user6041789,很抱歉我并不清楚,我已经尽力为您所做的了。 - jazzurro

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