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

时间:2014-01-29 16:41:31

标签: r animation plot maps coordinates

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

到目前为止,我只能使用plot {graphics}函数执行此操作。因为arrow {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)
  }  
})

1 个答案:

答案 0 :(得分:2)

是的,只需记住将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中。你尝试了什么?