如何解决我想知道如何使用传单包在R中打印addcirclespopup = ...的多列
here is my R code
library(leaflet)
m <- leaflet() %>%
addTiles() %>%
setView(lng = 126.97806,lat=37.56667,zoom=16)
m
acci <- read.csv("C:/accidents.csv")
acci
leaflet(acci) %>%
setView(lng = 126.97806,zoom=13) %>%
addTiles() %>%
addCircles(lng=~longitude,lat=~latitude,color=~acci_colour(accidenttype),popup=~accidentplace) %>%
addLegend(position = "bottomleft",title = "accidenttype",pal = acci_colour,values = ~accidenttype,opacity = 1)
acci_colour <- colorFactor("viridis",acci$accidenttype)
所以,我想知道当我单击传单地图上的圆圈标记时如何获取数据访问的多个信息。
我尝试过: addCircles(lng =〜经度,lat =〜纬度,color =〜acci_colour(accidenttype),popup =〜accidentplace,〜....,〜.....)
addCircles(lng =〜经度,lat =〜纬度,color =〜acci_colour(accidenttype),popup = paste(acci $ accidentplace,acci $ ...,acci $ ...)
addCircles(lng =〜经度,lat =〜纬度,color =〜acci_colour(accidenttype),popup = colnames(acci)[5:9])
...谢谢
解决方法
您只需要使用 ~
一次,然后使用 html 将列数据粘贴在一起进行格式化。
例如:
reprex 的数据
library(leaflet)
df <- data.frame(
lat = runif(10,35,40),lon = runif(10,80,120),n = 1:10,txt1 = sample(LETTERS,10),txt2 = sample(letters,10)
)
示例 1
leaflet(df) %>%
addTiles() %>%
addCircles(
lng = ~lon,lat = ~lat,popup = ~paste(n,txt1,txt2,sep = "<br>")
)
示例 2(更多控制)
library(htmltools)
leaflet(df) %>%
addTiles() %>%
addCircles(
lng = ~lon,popup = ~paste0(
"<b>n: ",n,"</b><br>","id1: ","<br>","id2: ","<br>"
)
)
使用 htmltools::htmlEscape()
可确保不会将列文本解释为 html。对于这个例子来说,这不是绝对必要的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。