我有 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/