r - 如何在 R 中绘制坐标(纬度/经度)数据并为其制作动画?

标签 r animation plot maps coordinates

我有 10 个经纬度点。使用下面的代码,我可以绘制坐标,按照箭头的顺序绘制箭头,并输出一个显示导航顺序的 gif 文件。

到目前为止,我只能使用plot {graphics}函数来做到这一点。因为箭头 {graphics} 和 saveGIF{animation} 似乎仅适用于绘图功能。我想知道是否有可能有一个更合适的库,例如 ggmap(编辑:我错误地说了 ggplot)、googleVis 等。

library(graphics)
library(animation)

lat <- c(34.083398,34.072467,34.030237,34.597334,34.587142,34.488386,33.443484,33.946902,33.062739,32.273711,32.272611)

lon <- c(-107.907107,-106.893156,-107.971542,-105.225107,-105.13397,-103.196355,-104.52479,-103.655698,-106.0156,-107.71744,-107.713977)

coords = data.frame(lat,lon)

x <- coords$lat ; y <- coords$lon 
s <- seq(length(x)-1)  # one shorter than data


saveGIF({
  for(s in 1:length(x)){
    plot(x,y)  
    arrows(x[s], y[s], x[s+1], y[s+1], col = 1:s)
  }  
})

最佳答案

是的,只需记住将 ggplot 调用包装在 print 中,以便它们产生输出。玩具示例:

data=data.frame(i=1:100,x=runif(100),y=runif(100))
saveGIF({for(i in 2:100){print(ggplot(data[1:i,],aes(x=x,y=y))+geom_point())}})

只需编写代码即可使用ggplot2函数生成每个帧并包装在print中。你尝试了什么?

关于r - 如何在 R 中绘制坐标(纬度/经度)数据并为其制作动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21437186/

相关文章:

r - 使用条件从数据框中的现有变量创建新变量

r - do for/while 循环的矢量版本

r - knitr .Rmd 小插图不会与 vignette() 一起出现

ios - 使用 SpriteKit 沿圆弧旋转 SKSpriteNode

plot - 如何将用户定义的图例附加到 gnuplot 中的现有图例

r - 在 ggplot 中,在 LOESS 中将 y 限制为 >0

r - 更新 R 包的安全方法 - "hot-swapping"可能吗?

jquery - 逐字动画 css3 或 jquery

javascript - 使用 setInterval 延迟循环的代码

r - 使用 ggplot 移动绘图