传单标签是否支持“\n”line-breaks?

Do leaflet labels support "\n" line-breaks?

努力提高我的 mapping/data 可视化技能,并快速制作一张气泡图,了解我最喜欢的乐队和流派的来源。所以我在我的 data.frame 中有一个标题为 bandnames 的专栏,我这样做是为了让每个波段都使用 \n 换行符分隔。我为此使用了 dplyr

dplyr::summarise(BandName = paste(BandName, collapse = "\n"))

当我在 RStudio 视图函数中预览工具提示时,这非常有效。这就是我的意思:

但是在leaflet中没有换行符:

有什么方法可以解决这个问题而不让每个波段单独成一行(这会使我想做的事情变得复杂,因为我希望每个位置有多个波段名称而不会有多个气泡)?

您必须牢记传单渲染 html - 所以尝试类似

dplyr::summarise(BandName = paste(BandName, collapse = "<br>"))

并确保在传单调用中将其映射到弹出窗口(而非标签)。

或者考虑这个例子/它建立在 mutate 而不是 summarise 之上,适当的函数将取决于你的数据集的性质。但关键部分是在 HTML 中使用 <br>,而不是在 R 中使用 \n

library(sf)
library(leaflet)

shape <- st_read(system.file("shape/nc.shp", package="sf")) %>%  # included with sf package
  st_transform(4326) %>% 
  dplyr::mutate(label = paste(CNTY_ID, NAME, sep =  "<br>"))


leaflet(shape) %>% 
  addProviderTiles("Stamen.Toner") %>% 
  addPolygons(color = "blue",
              fillColor = "red",
              popup = ~label)