我有一组起点和终点坐标,我在它们之间绘制线段。问题是,我想使用颜色而不是 geom_segment() 提供的箭头来指示线的方向。像蓝色过渡到红色的东西,以指示方向。
有没有一种简单的方法可以用 ggplot2 做到这一点?
示例数据:
points <- data.frame(long=runif(100,-122.4154,-122.3491))
points$lat <- runif(100,37.5976,37.6425)
points$long2 <- runif(100,-122.4154,-122.3491)
points$lat2 <- runif(100,37.5976,37.6425)
# add distance
library(geosphere)
points$miles <- apply(points, 1,
function(x) distHaversine(p1=c(x["long"],x["lat"]),p2=c(x["long2"],x["lat2"]),r=3959))
到目前为止,我已经能够对线条进行不同的着色,但是我还没有找到一种方法可以在同一条线段上使用两种颜色并在两者之间过渡,当我只有一个起点和终点,之间没有点时:
ggplot(points,aes(x=long,xend=long2,y=lat,yend=lat2,color=miles)) +
geom_segment() +
scale_color_gradient2(low="red",high="blue",midpoint=median(points$miles))