我正在尝试使用动画包在地图上生成“不断发展”的点图。地图由shapefile(来自readShapeSpatial / readShapeLines函数)生成。
问题是当它在for循环中绘制时,结果是加性的,而理想的结果是让它进化。
有没有使用我失踪的par()的方法?
我的问题是:有没有办法清除点函数绘制的点数 而不是清除整个数字,因此不必重新绘制shapefile?
如果有人想看代码:
# plotting underlying map
newyork <- readShapeSpatial('nycpolygon.shp')
routes <- readShapeLines('nyc.shp')
par(bg="grey25")
plot(newyork, lwd=2, col ="lightgray")
plot(routes,add=TRUE,lwd=0.1,col="lightslategrey")
# plotting points and save to GIF
ani.options(interval=.05)
saveGIF({
par(bg="grey25")
# Begin loop
for (i in 13:44){
infile <-paste("Week",i,".csv",sep='')
mydata <-read.csv(file = infile, header = TRUE, sep=",")
plotvar <- Var$Para
nclr <- 4
plotclr <-brewer.pal(nclr,"RdPu")
class<- classIntervals(plotvar,nclr,style = "pretty")
colcode <- findColours(class,plotclr)
points(Var$Lon,Var$Lat,col=colcode)
}
})
答案 0 :(得分:0)
如果您可以接受残留的阴影或墨水晕,则可以使用color =“white”或==覆盖您的背景选择。我们无法访问您的形状文件,但您可以通过添加以下行来尝试:
points(Var$Lon, Var$Lat, col="grey25")
它可能会在其他先前绘制的图形或边界中留下空白,因为它绝对不是面向对象的。晶格和ggplot2图形模型更加面向对象,因此如果您想发布可重现的示例,那么这可能是向前“移动”的替代路径。我似乎记得rgl包在其repetoire中有动画选项。