假设您拥有以下数据框:
cities = data.frame( name = c('Madrid','Barcelona','Sevilla'),
country = c('Spain','Spain','Spain'),
region = c('Comunidad de Madrid','Cataluña','Andalucia'),
data = c(100, 200, 300),
lng = c(-3.683333,2.166667,-6.083333),
lat = c(40.433333,41.383333,37.446667))
我的想法是拥有这些城市的地图和标签,当鼠标悬停在相应的城市圆圈上时,可以显示一些相关信息。我希望标签文本排列成几行。下面是第一种尝试,但失败了:
library( leaflet )
map = leaflet( cities ) %>%
addTiles() %>%
addCircles( lng = ~lng, lat = ~lat, fillColor = 'darkBlue', radius = 10000,
stroke = FALSE, fillOpacity = 0.8, label = paste0( cities$name,'\n', cities$region, '\n', cities$country, '\n', cities$data ) )
除此之外还有其他类似的尝试。在进行了一番谷歌搜索后,我发现可以通过涉及htmltools软件包来找到可能的解决方案:
library( htmltools )
map2 = leaflet( cities ) %>%
addTiles() %>%
addCircles( lng = ~lng, lat = ~lat, fillColor = 'darkBlue', radius = 10000,
stroke = FALSE, fillOpacity = 0.8,
label = HTML( paste0( '<p>', cities$name, '<p></p>', cities$region, ', ', cities$country,'</p><p>', cities$data, '</p>' ) ) )
在这种情况下,信息被显示为我所希望的,但是在同一标签内,数据集中每个城市都有一个条目。我该如何使单个城市的文本排列成多行?非常感谢任何帮助。
<br/>
就是答案(而不是使用<p>
和</p>
)。 - Nova