传单标签是否支持“\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)
努力提高我的 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)