[英]How to draw a line with color based on a numeric variable using Leaflet in R
这是怎么回事!
我有一个数据框,其中每一行都有 object 的即时速度和坐标(纬度和经度)信息。
我正在尝试画一条连接所有这些经纬度的线,这条线的颜色就是速度。 任何人都可以帮助我吗?
这是一些代码:
require(leaflet)
df <- data.frame(Latitude = seq(14, 15, length.out = 100),
Longitude = seq(45, 46, length.out = 100),
Speed = runif(100, 50, 70))
pal <- colorNumeric(palette = "Greens", domain = df$Speed)
leaflet()%>%
addTiles() %>%
addPolylines(data = df,
lng = ~Longitude,
lat = ~Latitude,
color = ~pal(Speed))
library(leaflet)
library(tidyverse)
df <- data.frame(lat = seq(14, 15, length.out = 100),
lng = seq(45, 46, length.out = 100),
Speed = runif(100, 50, 70))
pal <- colorNumeric(palette = "Greens", domain = df$Speed)
colorGradient <- df$Speed %>%
pal
df1 <- df %>%
mutate(nextLat = lead(lat),
nextLng = lead(lng),
color = colorGradient
)
gradient_map <- leaflet() %>%
addTiles()
for (i in 1:nrow(df1)) {
gradient_map <- addPolylines(map = gradient_map,
data = df1,
lng = as.numeric(df1[i, c('lng', 'nextLng')]),
lat = as.numeric(df1[i, c('lat', 'nextLat')]),
color = as.character(df1[i, c('color')])
)
}
gradient_map
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.