将矢量世界贴图添加到R中的光栅动画
我已经使用将矢量世界贴图添加到R中的光栅动画,r,R,我已经使用光栅软件包的animate功能创建了一个动画,并希望在其上添加一个世界矢量地图 这是我的代码,在设置动画之前,我从月平均温度的3D阵列创建光栅砖: r <- brick(ncols=nb.cols, nrows=nb.rows) r <- setValues(r, monthly.mean) animate(r) r我怀疑您是否可以,但您可以使用动画包创建带有播放/停止/循环控件等的网页动画 您必须编写一个函数,使用光栅层和矢量贴图绘制动画的每一帧,然后将其粘贴到动画包的
光栅
软件包的animate
功能创建了一个动画,并希望在其上添加一个世界矢量地图
这是我的代码,在设置动画之前,我从月平均温度的3D阵列创建光栅砖:
r <- brick(ncols=nb.cols, nrows=nb.rows)
r <- setValues(r, monthly.mean)
animate(r)
r我怀疑您是否可以,但您可以使用动画
包创建带有播放/停止/循环控件等的网页动画
您必须编写一个函数,使用光栅层和矢量贴图绘制动画的每一帧,然后将其粘贴到动画
包的saveHTML
函数中
示例(未测试):
应该创建一个HTML文件并打开浏览器查看它。要使此示例起作用,您需要在同一坐标系中创建一个world
矢量对象。在打印光栅时,您可能还需要设置zlim
,以便比例不会改变。您可以使用addfun
参数
library(raster)
# example data
r <- raster(nrows=10, ncols=10)
s <- stack(replicate(10, setValues(r, runif(ncell(r)))))
xy <- cbind(-180 + runif(10) * 360, -90 + runif(10) * 180)
# create a function to add some vector data
fun <- function() {
points(xy, cex=2)
points(xy, pch=3, col='red')
}
# use it
animate(s, addfun=fun)
库(光栅)
#示例数据
谢谢你!两种方法都很有效
对于感兴趣的人,请快速回答:
使用saveHTML:
require(animation)
require(rgdal)
require(raster)
countries <- readOGR(dsn=".", layer="Countries") # Shapefile of world countries
r <- brick(ncols=144, nrows=72)
r <- setValues(r, monthly.mean) # monthly.mean is a 3D array 144x72x420
saveHTML({
for(m in 1:420) { # serie of 420 months
plot(r[[m]], zlim=c(min, max)) # min, max of the legend
plot(countries, add=T)
}
})
require(动画)
需要(rgdal)
需要(光栅)
我正在尝试这一切。谢谢
require(animation)
require(rgdal)
require(raster)
countries <- readOGR(dsn=".", layer="Countries") # Shapefile of world countries
r <- brick(ncols=144, nrows=72)
r <- setValues(r, monthly.mean) # monthly.mean is a 3D array 144x72x420
saveHTML({
for(m in 1:420) { # serie of 420 months
plot(r[[m]], zlim=c(min, max)) # min, max of the legend
plot(countries, add=T)
}
})
require(rgdal)
require(raster)
countries <- readOGR(dsn=".", layer="Countries")
r <- brick(ncols=144, nrows=72)
r <- setValues(r, monthly.mean)
fun <- function() {
plot(countries, add=T)
}
animate(r, zlim=c(min, max), addfun=fun)